CVE-2026-44359: Meshtastic GitHub repo vulnerable to Arbitrary Code Execution via pull_request_target Fork Checkout in CI Workflow
Meshtastic is an open source mesh networking solution. Prior to version 2.7.21.1370b23, the Meshtastic GitHub repository's main_matrix.yml workflow is triggered by pull_request_target and multiple jobs check out the attacker's fork code and execute it with access to repository secrets and elevated GITHUB_TOKEN permissions. No approval gate exists. Pull requests from external users with author_association: "NONE" triggered the CI workflow automatically. The workflow directly executes attacker-controlled files from the fork checkout. This issue could have resulted in supply chain compromise, self-hosted runner compromise, and/or repository takeover for the repo. This issue is separate from GHSA-6mwm-v2vv-pp96, which addressed a command injection via github.head_ref in the setup job of the same workflow. That fix correctly moved to environment variables. However, the more critical fork checkout vulnerability across the check, build, and build-debian-src jobs was not addressed. Version 2.7.21.1370b23 contains a patch for thie issue.
Security readout for executives and security teams
Plain-English summary
A flaw in Meshtastic’s GitHub build automation allowed an external pull request to run untrusted fork code with repository secrets and elevated permissions. This could have enabled repository, build-system, or software supply-chain compromise. The supplied evidence identifies the project’s CI repository—not deployed mesh devices—as the direct attack surface.
Executive priority
Immediate for Meshtastic maintainers and organizations operating a copy of the affected CI workflow. Patch first, then investigate historical external pull-request runs and rotate potentially exposed credentials. Firmware consumers should monitor vendor guidance and verify artifact provenance; the supplied evidence does not show their deployed devices were directly attacked.
Technical view
Before 2.7.21.1370b23, main_matrix.yml used pull_request_target while several jobs checked out and executed fork-controlled code. External contributors with author_association "NONE" required no approval. Execution occurred with repository secrets and elevated GITHUB_TOKEN permissions, creating potential code execution, self-hosted runner compromise, unauthorized repository changes, and compromised build outputs.
Likely exposure
Direct exposure applies to the Meshtastic firmware repository and any equivalent retained workflow configuration before 2.7.21.1370b23. Risk is greatest where external pull requests ran automatically, secrets were available, or self-hosted runners were used. The bundle does not establish direct remote exploitation of installed Meshtastic devices.
Exploitation context
The CVSS 3.1 score is 10.0 because an unauthenticated external contributor could potentially trigger execution without user interaction. However, the CVE is not listed as KEV, and the supplied sources do not confirm active exploitation or a completed compromise. Treat historical qualifying workflow runs as potentially exposed pending investigation.
Researcher notes
This issue is distinct from GHSA-6mwm-v2vv-pp96, which addressed command injection involving github.head_ref in the setup job. According to the bundle, that change did not resolve fork checkout and execution across the check, build, and build-debian-src jobs. Evidence supports severe potential impact, but not confirmed exploitation.
Mitigation direction
Update the repository workflow to version 2.7.21.1370b23 or later.
Disable affected CI jobs until the patched workflow is deployed.
Rotate repository secrets if untrusted fork code may have executed.
Review and restrict GITHUB_TOKEN permissions to the minimum required.
Rebuild sensitive artifacts from a trusted, verified environment after suspected exposure.
Validation and detection
Confirm the repository contains version 2.7.21.1370b23 or later.
Verify pull_request_target jobs never execute code checked out from untrusted forks.
Review historical runs triggered by external users with author_association "NONE".
Audit repository changes, releases, artifacts, secrets access, and runner activity around those runs.
Confirm self-hosted runners used by affected jobs were investigated or rebuilt.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-829: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-829 · source CWE mapping
Inclusion of Functionality from Untrusted Control Sphere
Inclusion of Functionality from Untrusted Control Sphere represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Control of Generation of Code ('Code Injection')
Improper Control of Generation of Code ('Code Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.