CVE-2025-68699: NanoMQ $share/ Subscription Validation and Forwarding Parsing Inconsistency: NULL Pointer Increment Causes Crash
NanoMQ MQTT Broker (NanoMQ) is an all-around Edge Messaging Platform. In version 0.24.6, NanoMQ has a protocol parsing / forwarding inconsistency when handling shared subscriptions ($share/). A malformed SUBSCRIBE topic such as $share/ab (missing the second /) is not strictly validated during the subscription stage, so the invalid Topic Filter is stored into the subscription table. Later, when any PUBLISH matches this subscription, the broker send path (nmqpipesendstartv4/v5) performs a second $share/ parsing using strchr() and increments the returned pointer without NULL checks. If the second strchr() returns NULL, subtopic++ turns the pointer into an invalid address (e.g. 0x1). This invalid pointer is then passed into topicfiltern(), which triggers strlen() and crashes with SIGSEGV. The crash is stable and remotely triggerable. This issue has been patched in version 0.24.7.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2025-68699?
CVE-2025-68699 is rated as a high severity vulnerability due to its potential to cause crashes in the NanoMQ MQTT Broker.
What versions are affected by CVE-2025-68699?
CVE-2025-68699 affects NanoMQ version 0.24.6 and all versions up to, but not including, 0.24.7.
How do I fix CVE-2025-68699?
To fix CVE-2025-68699, upgrade to NanoMQ version 0.24.7 or later.
What impact does CVE-2025-68699 have on NanoMQ?
CVE-2025-68699 could lead to crashes of the NanoMQ MQTT Broker when handling shared subscriptions.
Is there a workaround for CVE-2025-68699?
Currently, there are no known workarounds for CVE-2025-68699 other than upgrading to the fixed version.