Skip to main content

NanoMQ EUVDEUVD-2026-46023

| CVE-2026-47275 LOW
NULL Pointer Dereference (CWE-476)
2026-07-20 GitHub_M
2.6
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Control or impersonate target MQTT broker
  2. Delivery
    Accept inbound NanoMQ MQTTv5 client connection
  3. Exploit
    Send 35-byte crafted CONNECT packet with will_prop set and prop NULL
  4. Execution
    Trigger NULL dereference in nni_mqttv5_msg_decode_connect() at mqtt_codec.c:1863
  5. Persist
    SIGSEGV terminates client process
  6. Impact
    Auto-reconnect loop sustains persistent 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 the attacker to control or impersonate the MQTT broker to which the NanoMQ MQTTv5 client is configured to connect. The malicious broker must send a crafted MQTTv5 CONNECT packet where will properties are present (will_prop != NULL) but connect-level properties are absent (prop == NULL) - this specific property combination is the necessary and sufficient trigger for the NULL dereference in nni_mqttv5_msg_decode_connect(). Both nanomq_cli and NanoMQ bridge mode are vulnerable through the same shared receive path. Exploitation is bounded by broker-position access: the attacker must operate the target broker endpoint, execute a man-in-the-middle attack on the MQTT connection, or (requiring admin access to the victim host) reconfigure the NanoMQ client to connect to a malicious broker. No authentication on the victim NanoMQ system is required once broker positioning is achieved. Auto-reconnect configuration on the client amplifies a transient crash into indefinite service disruption.

Impact

The official CVSS 3.1 base score of 2.6 (AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L) reflects a tightly constrained attack: high complexity, low privileges required, user interaction needed, and only low availability impact. The raw score understates operational risk in bridge-mode deployments: if auto-reconnect is enabled, a single malicious broker packet triggers an infinite crash-reconnect loop, producing persistent process-level DoS with no additional attacker effort. No EPSS score was provided in the input data, so exploitation probability cannot be quantified numerically. KEV status is not confirmed - no active exploitation is cited in CISA KEV. The described 35-byte trigger payload is structurally simple, lowering practical exploitation complexity for any attacker already holding broker-position access. Confidentiality and integrity metrics are both N, confirming this is a pure availability attack with no data exposure. The primary limiting factor is broker positioning: the attacker must control or impersonate the MQTT endpoint the NanoMQ client is configured to reach, which restricts opportunistic mass exploitation.

Exploit ScenarioDerived

An attacker who operates or impersonates the MQTT broker to which a NanoMQ instance is configured to connect - via DNS hijacking, BGP poisoning, or a rogue broker in a test or staging environment - sends a single 35-byte crafted MQTTv5 CONNECT packet containing will properties but no connect-level properties. The NanoMQ client process immediately dereferences the NULL prop pointer, receives SIGSEGV, and terminates. In bridge mode with auto-reconnect enabled, the client repeatedly reconnects and crashes in an infinite loop, sustaining process-level denial of service without any further attacker interaction.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 20, 2026

NULL pointer dereference in NanoMQ 0.24.11 and earlier allows a malicious MQTT broker to remotely crash any connecting NanoMQ MQTTv5 client - including bridge mode - with a single 35-byte crafted packet, triggering SIGSEGV and denial of service. The bug in mqtt_codec.c:1863 arises when a CONNECT packet carries will properties (will_prop != NULL) but no connect-level properties (prop == NULL); the code erroneously dereferences prop->next, reading from virtual address 0x38 (NULL plus struct field offset). No CISA KEV listing or public exploit is confirmed at time of analysis, but the minimal 35-byte trigger and auto-reconnect behavior in bridge mode can convert a single crash into a persistent DoS loop.

RemediationAI

The primary fix is to upgrade NanoMQ to a version beyond 0.24.11 once a patched release is published; the exact fixed version is not stated in available data and should be confirmed via the vendor advisory at https://github.com/nanomq/nanomq/security/advisories/GHSA-52qr-3v49-wmx6 before deploying. As an immediate compensating control, restrict NanoMQ clients and bridge-mode instances to connect only to verified, trusted MQTT brokers by enforcing TLS mutual authentication with certificate pinning, preventing redirection to attacker-controlled brokers - note this requires PKI infrastructure and may complicate dynamic broker discovery. If bridge mode is not operationally required, disable it to eliminate the automated reconnect attack path that converts a single crash into persistent DoS. Disabling auto-reconnect in client configurations reduces the persistence of the DoS even when the underlying null-dereference is triggered, at the cost of requiring manual service recovery after a crash event.

Affected VersionsENISA

nanomq ≤ 0.24.11

Affected Packages

euvd nanomq no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package 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 MQTT broker and client suite targeting edge computing and IoT deployments. The vulnerable function nni_mqttv5_msg_decode_connect() in mqtt_codec.c decodes MQTTv5 CONNECT packets and iterates over packet properties. CWE-476 (NULL Pointer Dereference) applies directly: the property-iteration loop uses the pointer variable prop (connect-level properties) rather than will_prop (will-message properties) when traversing will properties. If an incoming CONNECT packet legitimately includes will properties (will_prop != NULL) while omitting connect-level properties (prop == NULL), the code attempts to read prop->next, dereferencing a NULL pointer offset by the next field's struct offset (0x38), causing an immediate SIGSEGV. Both the nanomq_cli command-line tool and NanoMQ bridge mode consume the same shared receive path in mqtt_client.c, making both components identically vulnerable. Affected CPE: cpe:2.3:a:nanomq:nanomq:*:*:*:*:*:*:*:* covering all variants through version 0.24.11.

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 2.6 LOW
AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L
vuln.today AI 3.1 LOW

PR:N because no privileges on the victim system are required; attacker needs only to operate a reachable broker. UI:R because the client must initiate connection to the malicious broker.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L
4.0 AV:N/AC:H/AT:N/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

DescriptionCVE.org

In nanomq versions 0.24.11 and earlier, a NULL pointer dereference in nni_mqttv5_msg_decode_connect() allows a malicious MQTT broker to crash any connecting NanoMQ MQTTv5 client (including bridge mode) with a single packet, causing remote denial of service via SIGSEGV. In nni_mqttv5_msg_decode_connect() (mqtt_codec.c:1863), the code iterates over CONNECT properties using variable prop when it should use will_prop. When a CONNECT packet has no connect-level properties (prop == NULL) but has will properties (will_prop != NULL), dereferencing prop->next causes SIGSEGV at address 0x38 (NULL + offsetof(property, next)).

This affects both nanomq_cli and NanoMQ bridge mode (Core component), as both use the same mqtt_client.c receive path. This can lead to remote DoS if a malicious MQTT broker can crash the client process with a single 35-byte packet and persistent DoS if auto-reconnect causes infinite crash loop.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Low
niche IoT edge MQTT client with limited enterprise footprint
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 LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Low
Technical Impact
Partial

Priority Score

13
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +13
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