NanoMQ MQTT Broker (NanoMQ) is an all-around Edge Messaging Platform. Prior to version 0.24.10, in NanoMQ's webhook_inproc.c, the hook_work_cb() function processes nng messages by parsing the message body with cJSON_Parse(body). The body is obtained from nng_msg_body(msg), which is a binary buffer without a guaranteed null terminator. This leads to an out-of-bounds read (OOB read) as cJSON_Parse reads until it finds a \0, potentially accessing memory beyond the allocated buffer (e.g., nng_msg metadata or adjacent heap/stack). The issue is often masked by nng's allocation padding (extra 32 bytes of zeros for non-power-of-two sizes <1024 or non-aligned). The overflow is reliably triggered when the JSON payload length is a power-of-two >=1024 (no padding added). This issue has been patched in version 0.24.10.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-125",
"CWE-457"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34608.json"
}{
"cpe": "cpe:2.3:a:emqx:nanomq:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "0.24.10"
}
],
"source": [
"CPE_RANGE",
"REFERENCES"
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-34608.json"
[
{
"deprecated": false,
"digest": {
"line_hashes": [
"121843657267935642656130158138176891788",
"287213901573589411200829291389447440699",
"99945957393350894679175477653207946240",
"48624586610002043879352321955294462592",
"217265588641447269070578241624205556102",
"102543071575554571766746900534897394883",
"26761939698220736799609110349041741755",
"203286401508593385023227462900732517715",
"176366741767967063616672497623217093647",
"316218832441502259928426788195979547038",
"307688872524718107954906043705062557311",
"63780027845780909962654273186901381994",
"135448864733645365584837172160280405947",
"303066027830019687690824301904546797537",
"194852154050258948756978817596862109562",
"60733929636672201446808192535433501532",
"146984447729060297647349122882280829216",
"150153022814860940863602979703116845824",
"81526078173626017252478404313111489662",
"143500124616812177856697113215209200052",
"278603067511924560569027235819740622750",
"138915991543129542030724830256933852415",
"213025847090433122091314458125453541514",
"264456041354531249476250506138252113139",
"337903250148432640848115211707103276181",
"20727219043272191113573430764100197519"
],
"threshold": 0.9
},
"id": "CVE-2026-34608-9788705e",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/nanomq/nanomq/commit/9499a4b2c47998a6aadb69238c18b9e6771b1691",
"target": {
"file": "nanomq/webhook_inproc.c"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "282239524165529053366892576943462394676",
"length": 5962
},
"id": "CVE-2026-34608-d6d8ff79",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/nanomq/nanomq/commit/9499a4b2c47998a6aadb69238c18b9e6771b1691",
"target": {
"file": "nanomq/webhook_inproc.c",
"function": "hook_work_cb"
}
}
]
"2026-08-12T16:25:03Z"