Skip to main content

NanoMQ CVE-2026-32134

| EUVDEUVD-2026-30965 MEDIUM
NULL Pointer Dereference (CWE-476)
2026-05-19 GitHub_M
5.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify exposed NanoMQ MQTT port
  2. Delivery
    Establish multiple persistent-session MQTT connections (clean_start=0)
  3. Exploit
    Flood broker with concurrent reconnect requests
  4. Execution
    Race condition frees npipe->subinfol during session restore
  5. Persist
    NULL pointer dereference in pipe_peer()
  6. Impact
    Broker process crash (DoS)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires three concurrent conditions: (1) MQTT clients connecting with clean_start=0 (persistent sessions enabled), which is a client-controlled parameter and not a broker configuration default - any client can request persistent session semantics; (2) high-concurrency reconnect traffic sufficient to create a race condition in the broker's pipe_peer() handler, requiring simultaneous reconnect collisions rather than a single connection attempt; and (3) network access to the NanoMQ MQTT port (TCP 1883, TLS 8883, or WebSocket). The CVSS AC:H vector directly encodes that a race condition timing window must be won, making exploitation probabilistic rather than deterministic. Exploitation is limited by: the requirement to generate sustained concurrent reconnect load (not a single-packet trigger), the absence of code execution impact (crash-only), and the need for clients using persistent session mode. Clean_start=1 deployments are entirely unaffected, as the vulnerable session restoration code path is never invoked.

Impact

The CVSS 3.1 score of 5.9 (Medium) reflects real tension between severity signals. AV:N/PR:N/UI:N confirm full remote unauthenticated exposure, while AC:H significantly constrains practical exploitability - the attacker must engineer a precise timing collision during concurrent reconnect handling, which requires sustained load and favorable scheduling outcomes rather than a simple single-packet trigger. The impact is limited entirely to availability (C:N/I:N/A:H), meaning a successful exploit crashes the broker process but achieves no code execution, credential theft, or persistent access. The vulnerability is not listed in CISA KEV, and no EPSS score was provided in the input data. No public exploit code exists beyond the commit diff that documents the fix. SSVC signals are not available in the provided data. For internet-exposed NanoMQ deployments serving IoT edge infrastructure, the risk is real but operationally bounded: a crash causes message broker downtime, which can have significant downstream effects in industrial or embedded systems relying on MQTT for telemetry. For internal or access-controlled deployments, the AC:H requirement and lack of active exploitation make this a patch-cycle rather than emergency priority.

Exploit ScenarioDerived

An attacker with network access to a NanoMQ broker's MQTT port floods the broker with rapid reconnect requests using clients configured with clean_start=0, creating concurrent pipe_peer() invocations that race against session cleanup. The race frees npipe->subinfol between the null check on cpipe and the copy operation into npipe, dereferencing the NULL pointer and crashing the broker process. No public exploit code exists beyond the documented commit diff, and the AC:H CVSS vector confirms the attacker must sustain precise concurrency - a brute-force timing approach rather than a deterministic single-packet exploit.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 19, 2026

Remote unauthenticated denial-of-service in NanoMQ MQTT Broker (versions 0.24.10 and below) crashes the broker process via a NULL pointer dereference triggered by high-concurrency MQTT reconnect traffic. The flaw occurs during session resumption for persistent-session clients (clean_start=0), where the NanoNNG transport layer's pipe_peer() function dereferences cpipe->subinfol without verifying that the new pipe's subinfol pointer is also non-NULL - a pointer that can be freed mid-race. No public exploit code exists and the vulnerability is not listed in CISA KEV; however, CVSS AV:N/PR:N confirms remote unauthenticated triggering, and the fix has been released in version 0.24.11.

RemediationAI

Upgrade NanoMQ to version 0.24.11, which contains the vendor-released patch. The release is available at https://github.com/nanomq/nanomq/releases/tag/0.24.11, and the underlying NanoNNG fix is in commit 522ec62e29e60d1122f2aedaa6e702dcf089f7bb at https://github.com/nanomq/NanoNNG/commit/522ec62e29e60d1122f2aedaa6e702dcf089f7bb. If immediate upgrade is not feasible, consider the following specific compensating controls: restrict MQTT client connection policies to enforce clean_start=1 on all clients, eliminating persistent session resumption entirely and removing the vulnerable code path (trade-off: clients lose persistent subscriptions and queued messages on reconnect); apply network-layer rate limiting on the MQTT port (default 1883/TCP and 8883/TLS) to prevent the high-concurrency reconnect volume required to trigger the race condition (trade-off: may impact legitimate reconnect bursts from large fleets); or deploy NanoMQ behind a reverse proxy or MQTT load balancer that enforces per-client reconnect throttling. The vendor security advisory should be consulted for any additional guidance at https://github.com/nanomq/nanomq/security/advisories/GHSA-q36f-83mh-pcv2.

Affected VersionsENISA

NanoNNG < 0.24.11
nanomq < 0.24.11

Affected Packages

euvd nanomq fix: 0.24.11
euvd nanonng fix: 0.24.11

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

NanoMQ is an edge MQTT broker built on top of NanoNNG, its underlying messaging transport library. The defect resides in three transport implementations within NanoNNG: broker_tcp.c (tcptran_pipe_peer), broker_tls.c (tlstran_pipe_peer), and nmq_websocket.c (wstran_pipe_peer) - covering TCP, TLS, and WebSocket MQTT transports respectively. During session resumption for a persistent MQTT session (clean_start=0), the pipe_peer() function copies subscription metadata from a cached 'old pipe' (cpipe) to the new reconnecting pipe (npipe). The original code guarded only cpipe->subinfol for NULL before iterating it, but not npipe->subinfol. Under a high-concurrency reconnect-collision scenario, npipe->subinfol can be freed and nullified between the NULL check on cpipe and the actual data copy into npipe, triggering a CWE-476 NULL Pointer Dereference. The fix (NanoNNG commit 522ec62e) adds a conjunctive null guard: if (cpipe->subinfol != NULL && npipe->subinfol != NULL) across all three transport files, closing the race window. Both CPE strings cpe:2.3:a:nanomq:nanomq and cpe:2.3:a:nanomq:nanonng are affected, reflecting the split between the broker application and its transport library.

Know when Nanomq gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

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
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

1
Patch available
May 19, 2026 - 18:03 EUVD

DescriptionCVE.org

NanoMQ MQTT Broker (NanoMQ) is an all-around Edge Messaging Platform. In versions 0.24.10 and below, when NanoMQ handles high-concurrency reconnect traffic using a reconnect-collision payload, the broker can crash due to a NULL pointer dereference during MQTT session resumption for clean_start=0 clients. The transport's p_peer callback (tcptran_pipe_peer()) iterates cpipe->subinfol while copying session metadata from the cached old pipe to the new reconnecting pipe, without checking whether the pointer is NULL. Under a reconnect race, cpipe->subinfol can be freed and set to NULL before session restore invokes this function, resulting in a remote unauthenticated Denial-of-Service (process crash) condition. This issue has been fixed in version 0.24.11.

Threat Intelligence Overview

EPSS Score
0.0%
Top 87% exploitable
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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-2025-59946 HIGH POC
7.5 Dec 27

A data race in NanoMQ MQTT Broker versions prior to 0.24.2 can free subscription-info list memory while another thread s

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

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