CVE-2025-68699

6.5 MEDIUM

📋 TL;DR

CVE-2025-68699 is a NULL pointer dereference vulnerability in NanoMQ MQTT Broker that allows remote attackers to crash the broker by sending a malformed shared subscription topic. This affects all systems running NanoMQ version 0.24.6 with shared subscriptions enabled, potentially causing denial of service for MQTT messaging services.

💻 Affected Systems

Products:
  • NanoMQ MQTT Broker
Versions: Version 0.24.6 only
Operating Systems: All platforms running NanoMQ
Default Config Vulnerable: ⚠️ Yes
Notes: Requires shared subscription feature to be used/accessible. All NanoMQ deployments with version 0.24.6 are vulnerable if exposed to untrusted MQTT clients.

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete broker crash leading to denial of service for all connected MQTT clients, disrupting IoT/edge messaging operations until manual restart.

🟠

Likely Case

Broker crash requiring restart, causing temporary service disruption for MQTT messaging applications.

🟢

If Mitigated

No impact if patched or if shared subscriptions are disabled in configuration.

🌐 Internet-Facing: HIGH - Remote unauthenticated exploitation possible via MQTT protocol.
🏢 Internal Only: HIGH - Same exploit path available internally via MQTT connections.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploit requires sending malformed SUBSCRIBE packet with '$share/ab' topic (missing second slash). No authentication needed if broker allows anonymous connections.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.24.7

Vendor Advisory: https://github.com/nanomq/nanomq/security/advisories/GHSA-qv5f-c6v2-2f8h

Restart Required: Yes

Instructions:

1. Download NanoMQ 0.24.7 from official repository. 2. Stop current NanoMQ service. 3. Replace binary with patched version. 4. Restart NanoMQ service.

🔧 Temporary Workarounds

Disable shared subscriptions

all

Prevent exploitation by disabling shared subscription feature in configuration

Edit nanomq.conf and set 'shared_subscription = false'

Network filtering

all

Block malformed MQTT packets at network perimeter

Configure firewall/WAF to drop MQTT packets containing '$share/' topics without proper format

🧯 If You Can't Patch

  • Implement strict MQTT client authentication to prevent untrusted access
  • Deploy network monitoring to detect and block exploitation attempts

🔍 How to Verify

Check if Vulnerable:

Check NanoMQ version: 'nanomq --version' should show 0.24.6

Check Version:

nanomq --version

Verify Fix Applied:

Verify version is 0.24.7 or later: 'nanomq --version'

📡 Detection & Monitoring

Log Indicators:

  • Broker crash logs with SIGSEGV
  • Error messages related to shared subscription parsing
  • Unexpected broker restarts

Network Indicators:

  • MQTT SUBSCRIBE packets with malformed '$share/' topics
  • Broker becoming unresponsive after specific MQTT traffic

SIEM Query:

source="nanomq.log" AND ("SIGSEGV" OR "segmentation fault" OR "shared subscription" AND "error")

🔗 References

📤 Share & Export