Description
NanoMQ MQTT Broker (NanoMQ) is an all-around Edge Messaging Platform. In NanoMQ version 0.24.6, after enabling auth.http_auth (HTTP authentication), when a client connects to the broker using MQTT CONNECT without providing username/password, and the configuration params uses the placeholders %u / %P (e.g., username="%u", password="%P"), the HTTP request construction phase enters auth_http.c:set_data(). This results in calling strlen() on a NULL pointer, causing a SIGSEGV crash. This crash can be triggered remotely, resulting in a denial of service. This issue has been patched in version 0.24.7.
Problem types
CWE-476: NULL Pointer Dereference
Product status
References
github.com/...nanomq/security/advisories/GHSA-77f4-wvq8-mp3p
github.com/nanomq/NanoNNG/pull/1394
github.com/...ommit/c20aa27e5290bb480a5315099952480d35f37a8b
github.com/nanomq/nanomq/releases/tag/0.24.7