Description (CNA)
NanoMQ MQTT Broker (NanoMQ) is an all-around Edge Messaging Platform. In versions 0.24.10 and below, when NanoMQ handles high-concurrency reconnect traffic using a reconnect-collision payload, the broker can crash due to a NULL pointer dereference during MQTT session resumption for clean_start=0 clients. The transport's p_peer callback (tcptran_pipe_peer()) iterates cpipe->subinfol while copying session metadata from the cached old pipe to the new reconnecting pipe, without checking whether the pointer is NULL. Under a reconnect race, cpipe->subinfol can be freed and set to NULL before session restore invokes this function, resulting in a remote unauthenticated Denial-of-Service (process crash) condition. This issue has been fixed in version 0.24.11.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| nanomq / nanomq | affected < 0.24.11 |
| nanomq / NanoNNG | affected < 0.24.11 |
CWE
CWE-476
References
- https://github.com/nanomq/nanomq/security/advisories/GHSA-q36f-83mh-pcv2
- https://github.com/nanomq/nanomq/issues/2241
- https://github.com/nanomq/NanoNNG/commit/522ec62e29e60d1122f2aedaa6e702dcf089f7bb
- https://github.com/nanomq/nanomq/releases/tag/0.24.11
ADP enrichment
No English description supplied.