Skip to main content

NanoMQ MQTT Broker CVE-2026-45151

| EUVDEUVD-2026-33429 LOW
NULL Pointer Dereference (CWE-476)
2026-05-29 GitHub_M
2.9
CVSS 4.0 · Vendor: GitHub_M

Severity by source

Vendor (GitHub_M) PRIMARY
2.9 LOW
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Primary rating from Vendor (GitHub_M) · only source for this CVE.

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

2
Analysis Generated
May 29, 2026 - 20:34 vuln.today
CVSS changed
May 29, 2026 - 20:22 NVD
2.9 (LOW)

DescriptionCVE.org

NanoMQ MQTT Broker (NanoMQ) is an all-around Edge Messaging Platform. In 0.24.8 and earlier, quic_stream_recv can dereference a null substream pointer when a substream is in reopen state. The code finishes the AIO with error but does not return before locking c->mtx.

AnalysisAI

Null pointer dereference in NanoMQ MQTT Broker 0.24.8 and earlier causes a denial-of-service condition via the QUIC transport layer. The function quic_stream_recv fails to return after completing an asynchronous I/O operation with an error when a substream is in reopen state, proceeding to lock c->mtx against a null substream pointer. An unauthenticated remote attacker can crash the broker process, disrupting edge messaging services. No public exploit identified at time of analysis beyond proof-of-concept code reflected in the CVSS 4.0 E:P metric; not listed in CISA KEV.

Technical ContextAI

NanoMQ is an edge MQTT broker implementing the QUIC transport protocol (MQTT-over-QUIC) for low-latency IoT messaging. The vulnerability resides in quic_stream_recv, the receive handler for QUIC stream objects. CWE-476 (NULL Pointer Dereference) describes the root cause: when a QUIC substream transitions to a 'reopen' state, the substream pointer can be null at the point where quic_stream_recv attempts to acquire the connection mutex c->mtx. The code path correctly finishes the asynchronous I/O (AIO) with an error code but omits a guard return before the subsequent mutex lock, meaning execution proceeds to dereference the null pointer. This is a classic CWE-476 pattern - error-path code that partially handles the error condition but fails to fully abort execution. Affected CPE: cpe:2.3:a:nanomq:nanomq:*:*:*:*:*:*:*:* for all versions through 0.24.8.

RemediationAI

The primary remediation is to upgrade NanoMQ to a version beyond 0.24.8 that addresses this null pointer dereference; the exact patched release version should be confirmed via the vendor advisory at https://github.com/nanomq/nanomq/security/advisories/GHSA-9qhf-wgp4-p7w5, as the upstream fix version was not independently confirmed in the available intelligence. For deployments unable to upgrade immediately, a viable compensating control is to disable MQTT-over-QUIC transport and fall back to TCP-based MQTT connections, which removes the vulnerable quic_stream_recv code path entirely; the trade-off is loss of QUIC's low-latency characteristics for constrained edge devices. Alternatively, restricting QUIC port access (typically UDP 14567 or the configured QUIC listener port) to trusted IP ranges via firewall policy limits exposure to the network attack vector while preserving QUIC functionality for authorized clients. Process-level mitigations such as configuring a supervisor (systemd, supervisord) to automatically restart the broker on crash can reduce downtime if patching is delayed, though this does not prevent the crash itself.

More in Nanomq

View all
CVE-2023-34488 HIGH POC
7.8 Jun 12

NanoMQ 0.17.5 has a one-byte heap-based buffer over-read in the conn_handler function of mqtt_parser.c when it processes

CVE-2024-42646 HIGH POC
7.5 Jul 14

CVE-2024-42646 is a segmentation fault vulnerability in NanoMQ v0.21.10 that allows unauthenticated remote attackers to

CVE-2024-31041 HIGH POC
7.5 Apr 17

Null Pointer Dereference vulnerability in topic_filtern function in mqtt_parser.c in NanoMQ 0.21.7 allows attackers to c

CVE-2023-33657 HIGH POC
7.5 Jun 08

A use-after-free vulnerability exists in NanoMQ 0.17.2. Rated high severity (CVSS 7.5), this vulnerability is remotely e

CVE-2023-33660 HIGH POC
7.5 Jun 08

A heap buffer overflow vulnerability exists in NanoMQ 0.17.2. Rated high severity (CVSS 7.5), this vulnerability is remo

CVE-2023-33658 HIGH POC
7.5 Jun 08

A heap buffer overflow vulnerability exists in NanoMQ 0.17.2. Rated high severity (CVSS 7.5), this vulnerability is remo

CVE-2023-33659 HIGH POC
7.5 Jun 06

A heap buffer overflow vulnerability exists in NanoMQ 0.17.2. Rated high severity (CVSS 7.5), this vulnerability is remo

CVE-2023-29996 HIGH POC
7.5 May 04

In NanoMQ v0.15.0-0, segment fault with Null Pointer Dereference occurs in the process of decoding subinfo_decode and un

CVE-2023-29995 HIGH POC
7.5 May 04

In NanoMQ v0.15.0-0, a Heap overflow occurs in copyn_utf8_str function of mqtt_parser.c. Rated high severity (CVSS 7.5),

CVE-2023-29994 HIGH POC
7.5 May 04

In NanoMQ v0.15.0-0, Heap overflow occurs in read_byte function of mqtt_code.c. Rated high severity (CVSS 7.5), this vul

CVE-2024-31036 MEDIUM POC
6.8 Apr 22

A heap-buffer-overflow vulnerability in the read_byte function in NanoMQ v.0.21.7 allows attackers to cause a denial of

CVE-2024-42649 MEDIUM POC
6.5 Jul 14

NanoMQ v0.22.10 was discovered to contain a memory leak which allows attackers to cause a Denial of Service (DoS) via a

Share

CVE-2026-45151 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy