CVE-2024-47078

8.1 HIGH

📋 TL;DR

CVE-2024-47078 is an authentication and authorization bypass vulnerability in Meshtastic's MQTT implementation that allows unauthorized control of MQTT-connected nodes. This affects all Meshtastic users who use MQTT for internet-based communication between nodes. Attackers can potentially take control of devices in the mesh network.

💻 Affected Systems

Products:
  • Meshtastic firmware
Versions: All versions prior to 2.5.1
Operating Systems: All platforms running Meshtastic
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using MQTT for internet communication. Direct Bluetooth connections between phones and nodes are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the mesh network with attackers controlling all MQTT-connected nodes, enabling data interception, device manipulation, and disruption of communications.

🟠

Likely Case

Unauthorized access to specific nodes allowing data eavesdropping, message injection, and limited device control within the affected portion of the network.

🟢

If Mitigated

Limited impact with only isolated node compromise if network segmentation and additional authentication layers are in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

The vulnerability involves authentication bypass, making exploitation straightforward once the attack vector is understood.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.5.1

Vendor Advisory: https://github.com/meshtastic/firmware/security/advisories/GHSA-vqcq-wjwx-7252

Restart Required: Yes

Instructions:

1. Update Meshtastic firmware to version 2.5.1 or later. 2. Restart all affected nodes. 3. Verify MQTT connections are properly authenticated.

🔧 Temporary Workarounds

Disable MQTT Internet Communication

all

Temporarily disable MQTT-based internet communication and rely only on direct Bluetooth connections between phones and nodes.

Disable MQTT in Meshtastic settings

Network Segmentation

all

Isolate MQTT servers and Meshtastic nodes on separate network segments with strict firewall rules.

Configure firewall to restrict MQTT traffic to trusted sources only

🧯 If You Can't Patch

  • Implement network-level authentication for MQTT traffic using VPNs or TLS client certificates
  • Monitor MQTT traffic for unauthorized access attempts and implement rate limiting

🔍 How to Verify

Check if Vulnerable:

Check Meshtastic firmware version. If version is below 2.5.1 and MQTT is enabled, the system is vulnerable.

Check Version:

Check device info in Meshtastic app or use AT+VER command on serial interface

Verify Fix Applied:

Confirm firmware version is 2.5.1 or later and test MQTT authentication by attempting unauthorized access.

📡 Detection & Monitoring

Log Indicators:

  • Failed authentication attempts followed by successful MQTT connections
  • Unusual MQTT publish/subscribe patterns from unknown sources

Network Indicators:

  • MQTT traffic from unexpected IP addresses
  • Unencrypted MQTT traffic on port 1883

SIEM Query:

mqtt AND (authentication_failed OR connection_success) FROM meshtastic*

🔗 References

📤 Share & Export