nanomq: Heap-Buffer-Overflow in webhook_inproc.c via cJSON_Parse OOB Read
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| nanomq | nanomq | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Nanomq | Nanomq |
|
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.373% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Emqx
Emqx nanomq |
|
| CPEs | cpe:2.3:a:emqx:nanomq:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Emqx
Emqx nanomq |
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Nanomq
Nanomq nanomq |
|
| Vendors & Products |
Nanomq
Nanomq nanomq |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | nanomq: Heap-Buffer-Overflow in webhook_inproc.c via cJSON_Parse OOB Read | |
| Weaknesses | CWE-125 CWE-457 |
|
| References |
| |
| Metrics |
cvssV3_1
|