NanoMQ MQTT Broker (NanoMQ) is an all-around Edge Messaging Platform. Prior to version 0.24.8, NanoMQ’s MQTT-over-WebSocket transport can be crashed by sending an MQTT packet with a deliberately large Remaining Length in the fixed header while providing a much shorter actual payload. The code path copies Remaining Length bytes without verifying that the current receive buffer contains that many bytes, resulting in an out-of-bounds read (ASAN reports OOB / crash). This is remotely triggerable over the WebSocket listener. This issue has been patched in version 0.24.8.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-125"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25627.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:emqx:nanomq:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "0.24.8"
}
],
"source": "CPE_RANGE"
},
{
"original_tag": "0.24.8",
"range": [
{
"fixed": "6d061f2ead072a072f65ad2ae098155dabd3fd5a"
}
],
"source": "REFERENCES_TAG"
}
]
}
{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "0.24.8"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "e80b30bad6d855593a68d18f2785bfaca6faf09e"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-25627.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "309800913491873718124619074714334176675",
"length": 3078
},
"id": "CVE-2026-25627-01d9a249",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/nanomq/nanonng/commit/b9d7c50427cf08f7d2bfc3a14fc6491240c22f06",
"target": {
"file": "src/sp/protocol/mqtt/nmq_mqtt.c",
"function": "nano_pipe_timer_cb"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "76086610257280749041254535834538149165",
"length": 949
},
"id": "CVE-2026-25627-54699ee6",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/nanomq/nanonng/commit/e80b30bad6d855593a68d18f2785bfaca6faf09e",
"target": {
"file": "src/sp/transport/mqtts/broker_tls.c",
"function": "tlstran_pipe_fini"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"252891637145667191655716651488209674196",
"195253836144219701941666044880114859428",
"90995169562370650442716768841977459928",
"94054021479005889112890875407949102520",
"175644409234188798702707002696594201767",
"331047984372360462194302748920600798419",
"288504266138663707779094880013242394423",
"181576409146658281898923496181737132039"
],
"threshold": 0.9
},
"id": "CVE-2026-25627-5f29d0ba",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/nanomq/nanonng/commit/e80b30bad6d855593a68d18f2785bfaca6faf09e",
"target": {
"file": "src/sp/transport/mqtts/broker_tls.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"52562837256524356327979993874596151648",
"192511616185809487929499117343456329477",
"1125814297372660828841871265074305995",
"322686954350396477348038069631681542925",
"117308866211255878266283609353135917503",
"174595936490344061058538576242768505128",
"96173850441383276239143372226062820140",
"59098854081215189807874004779527460270",
"125543837073636808857060092663348847360",
"131610742232146028047136284818114405067",
"194675470649278745767877745860319467323",
"335306372526313889534346190873415443118",
"139085051258049829016987244527376804431",
"198744605669538066734640835335895752507",
"239192328744363590105831171240361118438",
"128466653431523298641189769365754001632",
"129993062006050832439492113501032675515",
"305196029766787679083459384973036067915",
"53247758151439035977572146045762749174",
"44001474533754174300665999998854744659",
"23492775416397180696561318164231258214"
],
"threshold": 0.9
},
"id": "CVE-2026-25627-f1faa686",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/nanomq/nanonng/commit/b9d7c50427cf08f7d2bfc3a14fc6491240c22f06",
"target": {
"file": "src/sp/protocol/mqtt/nmq_mqtt.c"
}
}
]
"2026-10-24T15:10:39Z"