Description
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.
Published: 2026-07-20
Score: 2.6 Low
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A NULL pointer dereference occurs in the NanoMQ MQTT‑v5 client during CONNECT packet decoding, leading to a segmentation fault that terminates the client process. The flaw originates from iterating over CONNECT properties with the wrong variable, causing a dereference when a packet contains will properties but no connect‑level properties. The result is a single packet that can crash any connecting NanoMQ client. Because the crash is triggered by a malicious MQTT broker, the impact is a remote denial of service for the affected client.

Affected Systems

Vendors and products affected are Nanomq’s NanoMQ implementation, specifically its nanomq_cli utility and the core bridge mode component that share the same mqtt_client.c receive path. All releases up to and including version 0.24.11 are vulnerable; no later releases are listed as unaffected in the available data.

Risk and Exploitability

The CVSS score of 2.6 indicates a low severity rating, and the EPSS score of <1% indicates a very low exploitation probability; the vulnerability is not listed in CISA's KEV catalog. The attack vector is inferred to be remote over the network, as a malicious MQTT broker can send the exploit packet to any client that connects to it. A single 35‑byte packet can force a crash, and if the client is configured to automatically reconnect, the crash can recur indefinitely, producing a persistent denial of service. No authentication or other check is described, so any client that accepts connections is potentially exposed.

Generated by OpenCVE AI on July 30, 2026 at 18:59 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade NanoMQ to a version newer than 0.24.11 if available; the maintainers have addressed the NULL pointer dereference in later releases.
  • Configure the client or bridge to disable automatic reconnection during anomalous crashes, or supervise the process so that it is restarted only after a cooldown period.
  • In environments where updates cannot be applied immediately, restrict connections to trusted MQTT brokers and implement network‑level filtering to block the specific 35‑byte CONNECT packet pattern that triggers the fault.

Generated by OpenCVE AI on July 30, 2026 at 18:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 20 Jul 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Nanomq
Nanomq nanomq
Vendors & Products Nanomq
Nanomq nanomq

Mon, 20 Jul 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 20 Jul 2026 17:15:00 +0000

Type Values Removed Values Added
Description 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.
Title nanomq NULL Pointer Dereference in MQTTv5 Client CONNECT Decoder Leading to Remote DoS
Weaknesses CWE-476
References
Metrics cvssV3_1

{'score': 2.6, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-20T18:56:28.995Z

Reserved: 2026-05-18T23:03:37.230Z

Link: CVE-2026-47275

cve-icon Vulnrichment

Updated: 2026-07-20T18:56:07.952Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T19:00:09Z

Weaknesses