CVE-2026-61633

NanoMQ: Infinite Loop in UNSUBSCRIBE Decoder Leading to Remote DoS

State
Published
Severity
2.0 Low
Published
Sep 18, 2026
Updated
Sep 18, 2026
Reserved
Jul 10, 2026

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
3.12.0 LowCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:LGitHub_M

Weaknesses

  • CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')

Affected Products

ProductVersions
nanomqnanomq
  • < 0.24.14Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.