Executive brief
NanoMQ is a messaging platform used to connect and manage data from smart devices. A vulnerability in how it handles high volumes of reconnecting devices can cause the service to crash. This allows a remote attacker to disrupt operations and cause a denial-of-service without needing any login credentials.
Technical details
A NULL pointer dereference exists in NanoMQ versions 0.24.10 and below within the tcptran_pipe_peer() function. The vulnerability is triggered during MQTT session resumption for clients with clean_start=0 when the broker is under high-concurrency reconnect pressure. Specifically, a race condition allows the session metadata pointer (cpipe->subinfol) to be freed and set to NULL before the transport callback attempts to iterate through it. An unauthenticated remote attacker can exploit this by sending a specific reconnect-collision payload, leading to a process crash. This issue has been resolved in version 0.24.11.
Affected products
- NanoMQ NanoMQ <= 0.24.10
Timeline
- 2026-03-12: patched: Version 0.24.11 released to address the issue.
- 2026-05-19: disclosed: Public advisory and CVE published.