CVE-2026-61633

Source
https://cve.org/CVERecord?id=CVE-2026-61633
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-61633.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-61633
Aliases
  • GHSA-m7mp-rr3v-hmhr
Published
2026-09-18T16:18:57Z
Modified
2026-09-20T14:24:20Z
Severity
  • 2.0 (Low) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L CVSS Calculator
Summary
NanoMQ: Infinite Loop in UNSUBSCRIBE Decoder Leading to Remote DoS
Details

NanoMQ is an MQTT broker. Prior to 0.24.14, the NanoMQ client function nni_mqtt_msg_decode_unsubscribe() in nng/src/supplemental/mqtt/mqtt_codec.c does not handle a failed read_uint16() while counting topics in a malformed UNSUBSCRIBE packet. A zero-length topic followed by trailing data can leave buf.curpos unchanged while topic_count continues to increase, allowing a malicious MQTT broker to hang a connecting MQTT 3.1.1 client, consume CPU and memory, and repeatedly deny service when automatic reconnection is enabled. The broker-side nmq_unsubinfo_decode path is not affected. This issue is fixed in version 0.24.14.

Database specific
{
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-835"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61633.json"
}
References

Affected packages

Git / github.com/nanomq/nanomq

Affected ranges

Type
GIT
Repo
https://github.com/nanomq/nanomq
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
Show details
{
    "source": "REFERENCES"
}
Type
GIT
Repo
https://github.com/nanomq/nanonng
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
Show details
{
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "0.24.14"
        }
    ],
    "source": [
        "AFFECTED_FIELD",
        "REFERENCES"
    ]
}

Affected versions

0.*
0.0.1
0.0.2
0.0.3
0.1.0
0.10.1
0.10.5
0.10.8
0.11.0
0.11.2
0.11.3
0.11.5
0.11.8
0.11.82
0.12.0
0.12.1
0.12.2
0.12.5
0.13
0.13.0
0.13.5
0.13.6
0.13.8
0.14.0
0.14.1
0.14.5
0.14.8
0.15.0
0.15.1
0.15.2
0.15.3
0.15.5
0.16.0
0.16.2
0.16.3
0.16.5
0.17.0
0.17.2
0.17.5
0.17.8
0.18.1
0.18.2
0.19.0
0.19.1
0.19.5
0.2.0
0.2.1
0.2.2
0.2.5
0.20.0
0.20.5
0.20.6
0.20.8
0.21
0.21.1
0.21.10
0.21.2
0.21.5
0.21.6
0.21.7
0.21.8
0.21.9
0.22.0
0.22.1
0.22.10
0.22.2
0.22.3
0.22.4
0.22.6
0.22.7
0.22.8
0.23.0
0.23.1
0.23.10
0.23.2
0.23.3
0.23.4
0.23.5
0.23.6
0.23.7
0.23.7-11
0.23.8
0.23.9
0.24.0
0.24.1
0.24.10
0.24.11
0.24.11-sdv
0.24.12
0.24.13
0.24.2
0.24.3
0.24.3-5
0.24.4
0.24.5
0.24.6
0.24.7
0.24.8
0.24.9
0.3.0
0.3.2
0.3.3
0.3.4
0.3.5
0.3.8
0.4.0
0.4.1
0.4.2
0.4.3
0.4.5
0.4.8
0.5.0
0.5.2
0.5.5
0.5.8
0.5.9
0.6.0
0.6.2
0.6.3
0.6.4
0.6.7rc
0.6.8
0.7.0
0.7.2
0.7.3
0.7.4
0.7.4rc
0.7.5
0.7.5rc
0.7.8
0.7.9
0.8.0
0.8.3
0.8.5
0.8.6log
0.9.0
0.9.2
0.9.5
0.9.7

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-61633.json"
vanir_signatures
[
    {
        "deprecated": false,
        "digest": {
            "function_hash": "88348002674658074348822203479023842368",
            "length": 2560
        },
        "id": "CVE-2026-61633-143cbea7",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/nanomq/nanonng/commit/fa8d859bb39841e46cfc6cce280d242bd782ad3d",
        "target": {
            "file": "src/supplemental/mqtt/mqtt_codec.c",
            "function": "property_parse"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "134183472054008959164910560082872290903",
                "135218529836465988249126530173685715886",
                "312632104218168491738907891875122949290",
                "308436005444356819026494529717080274974",
                "106553580121658145421047228981759758797",
                "135218529836465988249126530173685715886",
                "312632104218168491738907891875122949290",
                "308436005444356819026494529717080274974",
                "134183472054008959164910560082872290903",
                "135218529836465988249126530173685715886",
                "239740223537228919441959631622390010066",
                "38279030566472781949455962562476214335",
                "134183472054008959164910560082872290903",
                "135218529836465988249126530173685715886",
                "239740223537228919441959631622390010066",
                "38279030566472781949455962562476214335",
                "274319222470889704285877280499113142434",
                "225383562553691437300533446637280837722",
                "10516642643065539460561719685955809564",
                "16440798690770997445309382729206171889"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-61633-325c82b6",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/nanomq/nanonng/commit/fa8d859bb39841e46cfc6cce280d242bd782ad3d",
        "target": {
            "file": "src/supplemental/mqtt/mqtt_codec.c"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "70070237621829764289480800297382599647",
            "length": 1221
        },
        "id": "CVE-2026-61633-4b861460",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/nanomq/nanonng/commit/fa8d859bb39841e46cfc6cce280d242bd782ad3d",
        "target": {
            "file": "src/supplemental/mqtt/mqtt_codec.c",
            "function": "nni_mqtt_msg_decode_unsubscribe"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "111289307452485218761891371005179732598",
            "length": 1160
        },
        "id": "CVE-2026-61633-4de9126b",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/nanomq/nanonng/commit/fa8d859bb39841e46cfc6cce280d242bd782ad3d",
        "target": {
            "file": "src/supplemental/mqtt/mqtt_codec.c",
            "function": "nni_mqtt_msg_decode_subscribe"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "66300308770052318231294513144508137013",
            "length": 1578
        },
        "id": "CVE-2026-61633-65c87e24",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/nanomq/nanonng/commit/fa8d859bb39841e46cfc6cce280d242bd782ad3d",
        "target": {
            "file": "src/supplemental/mqtt/mqtt_codec.c",
            "function": "nni_mqttv5_msg_decode_subscribe"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "187575605547041575479112779187467724183",
            "length": 1408
        },
        "id": "CVE-2026-61633-df2dad94",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/nanomq/nanonng/commit/fa8d859bb39841e46cfc6cce280d242bd782ad3d",
        "target": {
            "file": "src/supplemental/mqtt/mqtt_codec.c",
            "function": "nni_mqttv5_msg_decode_unsubscribe"
        }
    }
]
vanir_signatures_modified
"2026-09-20T14:24:20Z"