← Back to Feed CACHED · 2026-07-20 05:38:09 · CACHE_KEY CVE-2026-44359
CVE-2026-44359 · CWE-94 · Disclosed 2026-07-20

Meshtastic is an open source mesh networking solution

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

A walkie-talkie firmware bug rated the same as a domain controller RCE

CVE-2026-44359 is a CWE-94 code injection flaw in Meshtastic, the open-source LoRa-based off-grid mesh messaging project. The advisory carries a network-reachable, no-auth, no-UI vector with scope change and high confidentiality+integrity impact — meaning a crafted packet arriving on a node's radio or serial/BLE/MQTT ingress can execute attacker-controlled logic on the device. Affected versions span the current firmware line prior to the vendor's patch release; exact fixed build should be confirmed against the upstream meshtastic/firmware advisory once published.

The vendor's CRITICAL 10.0 rating reflects the raw CVSS math (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H). That math is technically defensible but wildly overstates enterprise blast radius: Meshtastic runs on ESP32/nRF52 handheld radios carried by preppers, ham operators, and hikers. It is not identity, not hypervisor, not edge, not backup. In a typical Fortune-500 environment the installed base is effectively zero, and where it does exist it's shadow-IT on personal devices. Vendor severity mismatches practitioner reality by a full two buckets.

"Vendor screams 10.0 CRITICAL. In an enterprise fleet, Meshtastic is a hobbyist LoRa toy — not on the 10k-host patch queue."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Reach a Meshtastic node's ingress

Attacker must transmit to a target node over one of its exposed channels: LoRa RF (sub-GHz, line-of-sight or repeater-hop), Bluetooth LE to a paired phone, serial/USB, or an MQTT uplink if the node is bridged to the internet. Public MQTT bridges on mqtt.meshtastic.org are the only truly remote path.
Conditions required:
  • RF range or MQTT bridge reachability
  • Knowledge of channel/PSK for encrypted channels, or targeting the default public channel
Where this breaks in practice:
  • LoRa is physical-proximity limited (typically <10km line-of-sight)
  • Enterprise networks rarely bridge to public Meshtastic MQTT
  • Encrypted private channels require the pre-shared key
Detection/coverage: No enterprise scanner (Tenable, Qualys, Rapid7) fingerprints Meshtastic nodes; they are invisible to standard vuln management.
STEP 02

Deliver malformed packet triggering CWE-94

Attacker sends a crafted protobuf/mesh packet whose contents are unsafely evaluated by the firmware's message-handling code, resulting in attacker-controlled instructions executing in the node's context. Public PoC would likely appear as a Python script using the meshtastic CLI library.
Conditions required:
  • Working exploit for the specific parser path
  • Packet accepted on default or known channel
Where this breaks in practice:
  • No public PoC observed at time of assessment
  • Requires reverse-engineered protocol knowledge
Detection/coverage: None. There is no IDS signature ecosystem for Meshtastic traffic.
STEP 03

Execute on the microcontroller

Code runs in the firmware's task context on an ESP32 or nRF52 MCU — a single-purpose radio, not a general-purpose OS. There is no shell, no local user database, no lateral pivot into Windows/Linux fleet, and no persistent storage of enterprise credentials.
Conditions required:
  • Successful memory-safe or eval-style injection
  • MCU does not hard-fault
Where this breaks in practice:
  • Device is not a pivot point into enterprise LAN unless MQTT-bridged
  • Blast radius = one radio + any paired phone via BLE
Detection/coverage: Only visible via anomalous node behavior on the mesh; no SIEM telemetry.
STEP 04

Impact — mesh takeover or message forgery

Attacker can forge messages, decrypt traffic on channels the node knows, brick the device, or use it as a repeater relay for further mesh attacks. Scope-change reflects that a compromised node can influence other nodes' state via the mesh routing protocol.
Conditions required:
  • Compromised node participates in a live mesh
Where this breaks in practice:
  • Impact contained to the Meshtastic mesh community, not enterprise assets
Detection/coverage: Community-only; no enterprise detection surface.
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNone observed. Not in CISA KEV. No campaign attribution.
Public PoCNone indexed on GitHub / ExploitDB at time of assessment.
EPSSNot yet scored (CVE disclosed 2026-07-20); expected <1st percentile given niche installed base.
KEV statusNot listed.
CVSS v3.1 vectorAV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N → 10.0. Network vector is theoretically fair (MQTT bridge) but overwhelmingly LoRa-proximity in practice.
Affected componentmeshtastic/firmware — ESP32/nRF52 LoRa mesh radios.
Fixed versionRefer to upstream GHSA advisory — patched build not yet resolvable at assessment time.
Exposure telemetryShodan / Censys do not enumerate Meshtastic MQTT bridges as a distinct product; enterprise exposure is *de facto* zero.
Disclosure date2026-07-20
Deployment classHobbyist / off-grid comms. Not an identity, hypervisor, backup, edge, or CI/CD asset.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to MEDIUM (5.5/10)

Downgraded from CRITICAL because the affected component is a hobbyist LoRa radio firmware with effectively zero enterprise installed base — the single most decisive factor is deployment-role irrelevance to the enterprise fleet. Where Meshtastic *is* deployed, the blast radius is one handheld radio, not identity or infrastructure.

HIGH Blast-radius bounded to the mesh device itself
MEDIUM Exact fixed firmware build (advisory still propagating)
HIGH Enterprise exposure population <<1%

Why this verdict

  • Installed-base collapse: Meshtastic is not part of any standard enterprise software bill of materials. Corporate exposure is effectively zero except for personal devices employees bring in.
  • Blast radius floor stays at MEDIUM: No high-value role exists for this component — it is not an IdP, hypervisor, backup, PAM, CA, kernel-mode agent, or edge appliance. The Deployment-Role Blast Radius rule does not push the floor above MEDIUM because Meshtastic occupies role (a) low-value in every plausible enterprise scenario.
  • Physical-proximity friction: The 'network' vector is dominated by LoRa RF at hobbyist power levels; true remote reach requires an opt-in MQTT bridge that enterprises do not deploy.
  • No exploitation signal: Not KEV-listed, no public PoC, EPSS not scored, no observed campaigns.
  • Role multiplier: N/A — no high-value role exists for LoRa mesh radios in enterprise environments.

Why not higher?

A HIGH rating would require either enterprise-relevant deployment role or observed exploitation. Neither exists. The vendor CRITICAL is a mechanical CVSS artifact of a network-reachable, unauthed RCE vector — but the reachable population inside an enterprise perimeter rounds to zero.

Why not lower?

LOW / IGNORE would be wrong for security teams that support field operations, journalists, first responders, or executive protection details where Meshtastic *is* the primary comms channel. For those specific programs the impact of a forged or intercepted message is real and warrants tracking.

05 · Compensating Control

What to do — in priority order.

  1. Inventory Meshtastic presence via MDM / EDR software surveys — Search endpoint software inventories for the Meshtastic Android/iOS/desktop app to identify who in your workforce operates a node. No mitigation SLA applies to a MEDIUM verdict — complete this inventory in the normal 365-day remediation window; if any executive-protection or field-ops team relies on Meshtastic, promote those units to CRITICAL handling and mitigate within 3 days per the noisgate CRITICAL SLA.
  2. Disable MQTT uplink on any managed nodes — In Meshtastic device config, set mqtt.enabled = false. This eliminates the only truly remote attack path, leaving only RF-proximity risk. Apply opportunistically alongside next firmware push.
  3. Rotate channel PSKs and disable the default public channel — Unique per-team PSKs prevent opportunistic packet injection from anyone on the default channel. Push new channel configs to all managed nodes as part of the firmware upgrade.
  4. Track upstream firmware release cadence — Subscribe to the meshtastic/firmware GitHub release feed and roll the fixed build to any inventoried nodes within the 365-day remediation window.
What doesn't work
  • Network firewall rules — Meshtastic's primary transport is sub-GHz LoRa, invisible to your NGFW.
  • EDR — endpoint agents do not run on ESP32/nRF52 microcontrollers.
  • Standard vuln scanners — Tenable/Qualys/Rapid7 have no plugin coverage for Meshtastic firmware or MQTT bridges.
  • WAF or reverse proxy — no HTTP surface is involved.
06 · Verification

Crowdsourced verification payload.

Run on an auditor workstation with read access to your MDM/EDR software inventory export (CSV). Invoke as .\Check-Meshtastic.ps1 -InventoryCsv .\endpoint_apps.csv. No elevated privileges required — this is a discovery script, not a firmware probe.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#requires -Version 5.1
<#
.SYNOPSIS
  Discovers Meshtastic client/app presence in an endpoint inventory export.
.NOTES
  Exit codes: 0 = PATCHED (none found), 1 = VULNERABLE (Meshtastic present), 2 = UNKNOWN
#>
param(
  [Parameter(Mandatory=$true)][string]$InventoryCsv
)

if (-not (Test-Path $InventoryCsv)) {
  Write-Output 'UNKNOWN: inventory CSV not found'
  exit 2
}

try {
  $rows = Import-Csv -Path $InventoryCsv
} catch {
  Write-Output 'UNKNOWN: failed to parse CSV'
  exit 2
}

# Expect columns like: Hostname, AppName, AppVersion
$hits = $rows | Where-Object {
  $_.AppName -match '(?i)meshtastic'
}

if ($hits.Count -gt 0) {
  Write-Output "VULNERABLE: Meshtastic app found on $($hits.Count) endpoint(s)"
  $hits | Select-Object Hostname, AppName, AppVersion | Format-Table -AutoSize
  exit 1
}

Write-Output 'PATCHED: no Meshtastic client detected in inventory'
exit 0
07 · Bottom Line

If you remember one thing.

TL;DR
For a general enterprise fleet, treat CVE-2026-44359 as MEDIUM — no mitigation SLA applies, so go straight to the 365-day noisgate remediation SLA window and use that time to inventory whether anyone in your org actually operates a Meshtastic node. If the inventory turns up field-ops, executive-protection, or journalist-support programs that rely on Meshtastic for real comms, escalate those specific units to CRITICAL handling: apply the noisgate mitigation SLA of ≤3 days (disable MQTT, rotate PSKs) and the ≤90-day remediation deadline once the upstream firmware fix is published. Do not preempt higher-priority patch cycles (Windows LPE, edge appliances, hypervisors) for this. If exploitation signal changes or the CVE lands in KEV, override the mitigation timeline to hours.

Sources

  1. Meshtastic firmware security advisories (GHSA)
  2. Meshtastic firmware repository
  3. MITRE CWE-94: Improper Control of Generation of Code
  4. CISA Known Exploited Vulnerabilities Catalog
  5. Meshtastic Android advisory example (GHSA-h4rg-g6f3-ghh7)
  6. circl.lu Meshtastic vulnerability index
  7. Meshtastic MQTT documentation
  8. FIRST EPSS
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.