Skip to main content

radare2-mcp CVE-2026-6942

| EUVDEUVD-2026-25314 CRITICAL
OS Command Injection (CWE-78)
2026-04-23 VulnCheck GHSA-g65f-grqm-9jg5
9.3
CVSS 4.0 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach exposed radare2-mcp JSON-RPC interface
  2. Delivery
    Craft parameter with shell metacharacters
  3. Exploit
    Bypass command filter in r2_cmd_str()
  4. Execution
    Execute arbitrary OS commands
  5. Impact
    Full compromise of radare2-mcp host

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the radare2-mcp JSON-RPC/MCP interface be reachable by the attacker and that a request parameter reaches r2_cmd_str() - the specific sink named in the CVE. On vulnerable builds (1.6.0 and earlier) radare2's cfg.sandbox is effectively off for this path, so shell metacharacters (';', '|', '&', backticks, '$()') in user-controlled JSON-RPC input bypass the command filter and execute. No authentication is required (PR:N) and no user interaction is needed (UI:N). The primary LIMITING factor is network exposure: MCP servers are commonly launched as a local stdio process tied to a single client, so an instance not bound to a network-reachable address is not remotely exploitable; the CVSS AV:N rating assumes the interface is exposed. On patched builds exploitation additionally requires an operator to have deliberately disabled the sandbox via '-g all'.

Impact

The signals are internally consistent for a high-severity but not yet mass-exploited issue. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N with VC/VI/VA all High, score 9.3) describes trivial, unauthenticated, network-reachable total compromise, and SSVC reinforces this: Automatable=yes and Technical Impact=total. Against that, EPSS is only 0.27% (51st percentile) and the item is NOT in CISA KEV, and SSVC exploitation status is 'poc' rather than 'active' - meaning working exploit code exists but broad in-the-wild campaigns are not confirmed. The most important caveat is exposure: MCP servers are frequently run as a local stdio process bound to a single AI client rather than a public network service, so real-world attack surface depends heavily on whether the JSON-RPC interface is actually reachable over the network - the CVSS AV:N assumes it is. Bottom line: where radare2-mcp is network-exposed this is a genuine, easy-to-exploit RCE that should be patched immediately; the low EPSS reflects small deployment footprint and POC-not-yet-weaponized status, not low technical severity.

Exploit ScenarioDerived

An attacker who can reach an exposed radare2-mcp JSON-RPC endpoint sends a request whose parameter embeds shell metacharacters (e.g. appended with ';' or '|' plus a command); the payload slips past the application command filter and is executed by r2_cmd_str() with the privileges of the radare2-mcp process, yielding a reverse shell or arbitrary command execution. Because publicly available POC exists and SSVC rates the attack automatable, this can be scripted against any discoverable instance without user interaction or credentials.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 24, 2026

OS command injection in radare2-mcp (the Model Context Protocol server that bridges the radare2 reverse-engineering framework to LLM agents) versions 1.6.0 and earlier lets remote, unauthenticated attackers achieve full remote code execution on the host. Attacker-controlled JSON-RPC parameters flow into r2_cmd_str() where shell metacharacters bypass the command filter, and because the fix re-enables radare2's exec/socket sandbox, the flaw effectively granted attackers direct shell access. Publicly available exploit code exists (reported by VulnCheck, POC referenced in issue #45); it is not listed in CISA KEV and EPSS is modest at 0.27% (51st percentile).

RemediationAI

Upgrade radare2-mcp to the patched release corresponding to fix commit 482cde6500009112a8bc0b3fa8d2ef6180581ec0; the EUVD range (0 < 1.6.0) indicates the fix landed in version 1.6.0, but because the reference is a commit rather than an independently confirmed tagged release and the CVE text calls 1.6.0 'and earlier' vulnerable, confirm the exact patched tag with the vendor before relying on a version number. After upgrading, do NOT disable the sandbox: the fix enables radare2's cfg.sandbox with grain 'exec,socket' by default, so avoid passing the new '-g all' flag, which turns the protection off and reintroduces the exposure. As compensating controls where patching is not yet possible, bind the MCP/JSON-RPC interface to localhost or a Unix socket rather than a routable address, place it behind an authenticating proxy, and firewall the listening port so only trusted AI-agent hosts can reach it; the trade-off is that remote agent integrations that legitimately need network access will break. See the VulnCheck advisory (https://www.vulncheck.com/advisories/radare2-mcp-os-command-injection-via-shell-metacharacter-bypass) and issue #45 (https://github.com/radareorg/radare2-mcp/issues/45) for details.

Affected VersionsENISA

radare2 0 <1.6.0

Affected Packages

euvd radare2 fix: 1.6.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

radare2-mcp exposes radare2's command interpreter over a JSON-RPC/MCP interface so AI agents can drive binary analysis. The radare2 command language itself can spawn OS processes (e.g. the '!' shell-escape and related primitives), so any path that lets untrusted input reach the radare2 command string is effectively a shell. The root cause is CWE-78 (OS Command Injection): user-supplied JSON-RPC parameters are concatenated into a command passed to r2_cmd_str(), and the application-level 'command filter' meant to block dangerous commands is defeated by shell metacharacters. The vendor fix in commit 482cde6 does not tighten the string filter alone - it introduces a sandbox_grain setting that enables radare2's native cfg.sandbox with a default grain of 'exec,socket', so process execution and socket creation are blocked at the engine level unless an operator explicitly passes '-g all' to disable the sandbox. The CPE provided (cpe:2.3:a:radareorg:radare2:*) names the radare2 core package, but the actual vulnerable component is the radare2-mcp connector.

Know when Radare2 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 9.8 CRITICAL

Unauthenticated JSON-RPC input reaching a shell yields network vector, low complexity, no privileges/UI, and full C/I/A on the host; scope unchanged as the OS is the same authorization context, assuming the interface is network-exposed.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

5
PoC Detected
Apr 29, 2026 - 20:16 vuln.today
Public exploit code
Patch released
Apr 29, 2026 - 20:16 nvd
Patch available
Patch available
Apr 23, 2026 - 23:16 EUVD
CVSS changed
Apr 23, 2026 - 21:27 NVD
9.8 (CRITICAL) 9.3 (CRITICAL)
CVE Published
Apr 23, 2026 - 20:58 nvd
CRITICAL 9.3

DescriptionCVE.org

radare2-mcp version 1.6.0 and earlier contains an os command injection vulnerability that allows remote attackers to execute arbitrary commands by bypassing the command filter through shell metacharacters in user-controlled input passed to r2_cmd_str(). Attackers can inject shell metacharacters through the jsonrpc interface parameters to achieve remote code execution on the host running radare2-mcp without requiring authentication.

Executive ViewAI

Why It Matters

radare2-mcp (versions 1.6.0 and earlier) contains a critical remote code execution vulnerability accessible to unauthenticated attackers. This affects organizations using the Model Context Protocol server to bridge reverse-engineering tools with LLM agents, creating a direct attack path to host infrastructure and AI systems.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 49% exploitable
Prevalence
Low
niche MCP connector for radare2, small real-world install base
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

66
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2023-46570 CRITICAL POC
9.8 Oct 28

An out-of-bounds read in radare2 v.5.8.9 and before exists in the print_insn32 function of libr/arch/p/nds32/nds32-dis.h

CVE-2023-46569 CRITICAL POC
9.8 Oct 28

An out-of-bounds read in radare2 v.5.8.9 and before exists in the print_insn32_fpu function of libr/arch/p/nds32/nds32-d

CVE-2023-4322 CRITICAL POC
9.8 Aug 14

Heap-based Buffer Overflow in GitHub repository radareorg/radare2 prior to 5.9.0. Rated critical severity (CVSS 9.8), th

CVE-2022-1899 CRITICAL POC
9.1 May 26

Out-of-bounds Read in GitHub repository radareorg/radare2 prior to 5.7.0. Rated critical severity (CVSS 9.1), this vulne

CVE-2022-1297 CRITICAL POC
9.1 Apr 11

Out-of-bounds Read in r_bin_ne_get_entrypoints function in GitHub repository radareorg/radare2 prior to 5.6.8. Rated cri

CVE-2022-1296 CRITICAL POC
9.1 Apr 11

Out-of-bounds read in `r_bin_ne_get_relocs` function in GitHub repository radareorg/radare2 prior to 5.6.8. Rated critic

CVE-2023-5686 HIGH POC
8.8 Oct 20

Heap-based Buffer Overflow in GitHub repository radareorg/radare2 prior to 5.9.0. Rated high severity (CVSS 8.8), this v

CVE-2026-40499 HIGH POC
8.4 Apr 15

Command injection in radare2's PDB parser (versions <6.1.4) enables arbitrary command execution when analysts process ma

CVE-2026-40517 HIGH POC
8.4 Apr 22

Command injection in radare2 PDB parser (versions before 6.1.4) enables arbitrary OS command execution when users analyz

CVE-2017-16357 HIGH POC
7.8 Nov 01

In radare 2.0.1, a memory corruption vulnerability exists in store_versioninfo_gnu_verdef() and store_versioninfo_gnu_ve

CVE-2017-15932 HIGH POC
7.8 Oct 27

In radare2 2.0.1, an integer exception (negative number leading to an invalid memory access) exists in store_versioninfo

CVE-2017-15931 HIGH POC
7.8 Oct 27

In radare2 2.0.1, an integer exception (negative number leading to an invalid memory access) exists in store_versioninfo

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy