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-10-28T11:12:00Z
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
{
    "extracted_events":  [
        {
            "original_tag":  "0.24.14",
            "range":  [
                {
                    "fixed":  "16bdb38921e7bbeab887cf229c2eb145889dfa88"
                }
            ],
            "source":  "REFERENCES_TAG"
        }
    ]
}
Type
GIT
Repo
https://github.com/nanomq/nanonng
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
Show details
{
    "extracted_events":  [
        {
            "range":  [
                {
                    "introduced":  "0"
                },
                {
                    "fixed":  "0.24.14"
                }
            ],
            "source":  "AFFECTED_FIELD",
            "strategy":  "StringRangeExpression"
        },
        {
            "range":  [
                {
                    "fixed":  "fa8d859bb39841e46cfc6cce280d242bd782ad3d"
                }
            ],
            "source":  "REFERENCES_COMMIT"
        }
    ]
}

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":  [
                "106732617879992299546335078856304780455",
                "294493632223967332579844525831444462468",
                "206181698616916517217061310250512270723",
                "76067159830892398620980420349741433411",
                "132925112758583824193369990132482553455",
                "55370608497300193109260551169647432186",
                "81972049601563662899808688096955314759",
                "238044452542881528069518046016055915863"
            ],
            "threshold":  0.9
        },
        "id":  "CVE-2026-61633-1eff8815",
        "signature_type":  "Line",
        "signature_version":  "v1",
        "source":  "https://github.com/nanomq/nanonng/commit/5c6ad09f0f6f0b111e19e8fbae259d20f5673505",
        "target":  {
            "file":  "src/supplemental/nanolib/conf.c"
        }
    },
    {
        "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":  "179704196006112879465033474608620449237",
            "length":  3859
        },
        "id":  "CVE-2026-61633-bc6d51d1",
        "signature_type":  "Function",
        "signature_version":  "v1",
        "source":  "https://github.com/nanomq/nanonng/commit/5c6ad09f0f6f0b111e19e8fbae259d20f5673505",
        "target":  {
            "file":  "src/supplemental/nanolib/conf.c",
            "function":  "conf_bridge_node_destroy"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "line_hashes":  [
                "319987710299103814133658779126207238492",
                "70208850574568910157760390157809152789",
                "191324800489073211161864177168034711983",
                "282085166627322855677257736944132808316",
                "295813053496134856364453543700627648562"
            ],
            "threshold":  0.9
        },
        "id":  "CVE-2026-61633-cdd8af0f",
        "signature_type":  "Line",
        "signature_version":  "v1",
        "source":  "https://github.com/nanomq/nanonng/commit/5c6ad09f0f6f0b111e19e8fbae259d20f5673505",
        "target":  {
            "file":  "include/nng/supplemental/nanolib/conf.h"
        }
    },
    {
        "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"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "function_hash":  "60028838494314808152959761740048073868",
            "length":  1512
        },
        "id":  "CVE-2026-61633-fd363509",
        "signature_type":  "Function",
        "signature_version":  "v1",
        "source":  "https://github.com/nanomq/nanonng/commit/5c6ad09f0f6f0b111e19e8fbae259d20f5673505",
        "target":  {
            "file":  "src/supplemental/nanolib/conf.c",
            "function":  "conf_bridge_node_init"
        }
    }
]
vanir_signatures_modified
"2026-10-28T11:12:00Z"