Skip to main content

radare2 CVE-2026-6941

| EUVDEUVD-2026-25302 MEDIUM
Improper Link Resolution Before File Access (CWE-59)
2026-04-23 VulnCheck GHSA-2x93-pf6j-8c9x
6.9
CVSS 4.0 · NVD
Share

Severity by source

NVD PRIMARY
6.9 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.6 MEDIUM

AV:L because the malicious archive must be present locally; UI:R because the victim must actively import it; I:H reflects arbitrary file write outside project root; C:L for limited read via symlink.

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

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
P
Scope
X

Lifecycle Timeline

8
Source Code Evidence Fetched
Jul 24, 2026 - 03:41 vuln.today
Analysis Generated
Jul 24, 2026 - 03:41 vuln.today
PoC Detected
Apr 27, 2026 - 14:57 vuln.today
Public exploit code
Patch released
Apr 27, 2026 - 14:57 nvd
Patch available
Patch available
Apr 23, 2026 - 22:16 EUVD
CVSS changed
Apr 23, 2026 - 21:27 NVD
6.6 (MEDIUM) 6.9 (MEDIUM)
EUVD ID Assigned
Apr 23, 2026 - 21:00 euvd
EUVD-2026-25302
CVE Published
Apr 23, 2026 - 20:39 nvd
MEDIUM 6.9

DescriptionCVE.org

radare2 prior to 6.1.4 contains a path traversal vulnerability in its project notes handling that allows attackers to read or write files outside the configured project directory by importing a malicious .zrp archive containing a symlinked notes.txt file. Attackers can craft a .zrp archive with a symlinked notes.txt that bypasses directory confinement checks, allowing note operations to follow the symlink and access arbitrary files outside the dir.projects root directory.

AnalysisAI

Path traversal in radare2's project notes handling exposes arbitrary filesystem files to read and overwrite when a user imports a crafted .zrp archive. All radare2 releases prior to 6.1.4 are vulnerable via the r_core_project_notes_file() function in libr/core/project.c, which failed to detect symlinks within imported project archives before performing note operations. An attacker who can deliver and persuade a victim to import a malicious .zrp file can escape the configured dir.projects directory entirely, gaining low confidentiality and high integrity impact on the host filesystem. No active exploitation is confirmed in CISA KEV, but a working proof-of-concept is publicly available in the referenced GitHub PR test suite.

Technical ContextAI

radare2 is an open-source reverse engineering framework whose project system uses .zrp archives - standard ZIP files - to package and share analysis sessions. The r_core_project_notes_file() function in libr/core/project.c constructs the path to a project's notes.txt file within the dir.projects root directory. Prior to 6.1.4, this function did not invoke r_file_readlink() to detect whether the extracted notes.txt entry was a symbolic link; if it was, subsequent note read and write operations followed the symlink transparently, bypassing directory confinement checks. This maps precisely to CWE-59 (Improper Link Resolution Before File Access, 'Link Following'): the application trusted the filename without verifying the resolved path remained within the intended boundary. The affected CPE is cpe:2.3:a:radareorg:radare2:*:*:*:*:*:*:*:*, covering all versions of radare2 up to but not including 6.1.4.

RemediationAI

The primary fix is upgrading to radare2 6.1.4 or later, which patches libr/core/project.c to call r_file_readlink() and discard the notes path if it resolves to a symlink, preventing link following outside the project directory (PR #25831, commit 4bcdee725; advisory: https://www.vulncheck.com/advisories/radare2-project-notes-path-traversal-via-symlink). If immediate upgrade is not possible, the most effective compensating control is to refuse to import .zrp project archives from untrusted or unverified sources - this eliminates the delivery vector entirely since UI:P is required for exploitation. Users who must import external archives can manually inspect them first using unzip -v archive.zrp to identify symlinked entries (symlinks are indicated by the file attributes column); any archive containing a symlinked notes.txt should be rejected. There are no functional side effects reported for the patch. Note that the upstream fix is available as a PR/commit against the radare2 main branch; the released patched version (6.1.4) is identified by EUVD but has not been independently verified beyond the EUVD affected-version range.

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

Share

CVE-2026-6941 vulnerability details – vuln.today

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