CVE-2026-47275: nanomq NULL Pointer Dereference in MQTTv5 Client CONNECT Decoder Leading to Remote DoS
In nanomq versions 0.24.11 and earlier, a NULL pointer dereference in nnimqttv5msgdecodeconnect() allows a malicious MQTT broker to crash any connecting NanoMQ MQTTv5 client (including bridge mode) with a single packet, causing remote denial of service via SIGSEGV. In nnimqttv5msgdecodeconnect() (mqttcodec.c:1863), the code iterates over CONNECT properties using variable prop when it should use willprop. When a CONNECT packet has no connect-level properties (prop == NULL) but has will properties (willprop != NULL), dereferencing prop->next causes SIGSEGV at address 0x38 (NULL + offsetof(property, next)).
This affects both nanomqcli and NanoMQ bridge mode (Core component), as both use the same mqttclient.c receive path. This can lead to remote DoS if a malicious MQTT broker can crash the client process with a single 35-byte packet and persistent DoS if auto-reconnect causes infinite crash loop.
Affected Software
Event History
Frequently Asked Questions
What is CVE-2026-47275?
CVE-2026-47275 is a vulnerability in nanomq that allows a malicious MQTT broker to crash clients through a NULL pointer dereference in the CONNECT decoder.
What is the severity of CVE-2026-47275?
The severity of CVE-2026-47275 is classified as low, with a severity score of 2.6.
How do I fix CVE-2026-47275?
To fix CVE-2026-47275, update to a patched version of nanomq that addresses the NULL pointer dereference issue.
What are the affected versions in CVE-2026-47275?
CVE-2026-47275 affects nanomq versions 0.24.11 and earlier.
What impact does CVE-2026-47275 have on systems?
CVE-2026-47275 can lead to remote denial of service, crashing any connecting NanoMQ MQTTv5 client.