Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malformed Apple PEF file with inflated relocSecCount
-
DeliveryDeliver sample to analyst
-
Exploitradare2 auto-detects PEF format on load
-
ExecutionLoader iterates unbounded relocation records past EOF
-
ImpactCPU exhaustion hangs analysis session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an analyst to load or auto-analyze an attacker-supplied crafted Apple Preferred Executable Format (PEF) file in radare2 prior to version 6.2.0. The trigger is normal binary-format auto-detection - no explicit command beyond opening the file is needed (distinguishing it from sibling pFB/pFBj-gated radare2 bugs). Limiting factors: the attack is local (AV:L), requires user interaction to open/process the malicious file (UI:R), needs no authentication or privileges (PR:N), and yields only denial of service (CPU/time exhaustion) with no confidentiality, integrity, or code-execution impact. There is no network-reachable attack surface. |
| Impact | This is a genuine but low-priority denial-of-service issue whose signals are internally consistent. The CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H, base 5.5) correctly reflects a local, low-complexity, availability-only flaw that requires user interaction - an analyst must open or auto-analyze a crafted Apple PEF file in radare2. There is no confidentiality or integrity impact; the sole consequence is CPU exhaustion (up to 268,435,456 relocation-section iterations plus repeated buffer operations past end-of-file), causing hangs or prolonged processing rather than crash or code execution. No EPSS score, no CISA KEV listing, and no public exploit are present in the input, so exploitation status is 'no public exploit identified at time of analysis.' The vendor-fixed root cause is confirmed by the GHSA advisory and the commit diff, which adds bounds checks on offsets, target counts, and overflow-checked address arithmetic. The signals do not conflict: this is a low-real-risk, high-noise-value bug - a robustness/hardening fix for a reverse-engineering tool, not an urgent enterprise threat. The only nuance worth verifying is that AV:L is appropriate because triggering requires locally supplied file input; there is no network-reachable path in the described scenario. |
| Exploit ScenarioDerived | An attacker crafts a small malformed Apple PEF binary with an inflated relocSecCount field and delivers it to a reverse engineer (e.g., as a suspicious sample or malware artifact). When the analyst opens it in radare2 - or auto-detection alone identifies it as PEF during loading - the loader loops through up to ~268 million relocation-section iterations, pinning CPU and hanging the analysis session. No public exploit code is identified, but the trigger is trivial to construct given the described unbounded field. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Loading a crafted Apple Preferred Executable Format (PEF) file into radare2 prior to 6.2.0 can consume excessive CPU and stall or hang the analysis session, because the PEF loader accepts relocation-section counts that are not validated against the number of sections or the relocation records actually present in the input. The bug is reached through normal binary-format auto-detection, so simply opening or auto-analyzing the malformed file is sufficient; the attack is local and needs user interaction (CVSS:3.1/AV:L/AC:L/PR:N/UI:R) and results only in denial of service, with no confidentiality, integrity, or code-execution impact and no network-reachable attack surface. No public exploit code or confirmed active exploitation was identified at time of analysis, and the issue is fixed in radare2 6.2.0.
RemediationAI
Upgrade to radare2 6.2.0, the vendor-released fix (Vendor-released patch: 6.2.0), available from https://github.com/radareorg/radare2/releases/tag/6.2.0; the underlying code change is commit 87c780e29ee6251cebaab51585d14482cb7740ac and the vendor advisory is https://github.com/radareorg/radare2/security/advisories/GHSA-fg6f-rj8g-25pq. Distribution users should apply the packaged radare2 version that includes this commit rather than building from an older tag. Because the trigger is normal binary-format auto-detection, there is no reliable configuration toggle that removes the risk while keeping PEF analysis working: disabling or excluding the PEF loader (for example by building without it or stripping the PEF bin plugin) eliminates the vulnerable path entirely but also removes all PEF reverse-engineering capability. As a compensating control on unpatched or untrusted-file workloads, run radare2 against suspect samples inside a sandbox with hard CPU and wall-clock caps such as ulimit -t or timeout, which limits the practical impact of the up-to-268,435,456-iteration loop at the cost of killing long-running legitimate analyses; simply moving or renaming the file does not help because the loader is selected by content auto-detection, so avoid auto-analyzing untrusted PEF samples until the upgrade is deployed.
Affected VersionsENISA
Affected Packages
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
The affected component is radare2's Apple Preferred Executable Format loader (libr/bin/p/bin_pef.c). PEF is a legacy macOS/classic Mac OS executable container whose relocation information is encoded as a relocation section comprising a count (relocSecCount) followed by compressed relocation bytecode instructions that the loader decodes into per-address PEFReloc records. The root cause is CWE-400 (Uncontrolled Resource Consumption): the pre-6.2.0 decoder trusted relocSecCount and the per-record offsets without checking them against the actual number of sections, imported symbols, or remaining bytes in the file, so a small crafted PEF file could drive up to 268,435,456 relocation-section iterations and repeated buffer operations after record offsets had already passed the end of the file. Supporting defects included a 16-bit relocation target field (ut16) that truncated larger indices and unchecked 32-bit address arithmetic that could wrap. The fix commit 87c780e29ee6251cebaab51585d14482cb7740ac widens the target field to ut32, adds a relocSecCount/relocation-decode state, and introduces strict validation: pef_push_reloc rejects relocations once PEF_MAX_RELOCATIONS is reached, rejects sections smaller than 4 bytes or offsets beyond section_size - 4, and rejects targets that exceed the section or import count, while pef_reloc_addr_add refuses additions that would exceed UT32_MAX. The assessed vector is CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H for CVSS 5.5, consistent with a local, unauthenticated but user-interaction-driven CPU/time exhaustion denial of service rather than a memory-corruption or code-execution primitive.
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
AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Local file input processed by the tool (AV:L), trivially crafted field (AC:L), no auth (PR:N), analyst must open the file (UI:R), availability-only CPU exhaustion (A:H, C/I:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's Apple Preferred Executable Format loader was vulnerable because the PEF loader accepted relocSecCount values that were not bounded by the number of sections or complete relocation records in the input. The vulnerability is triggered by normal binary-format auto-detection of a small crafted Apple PEF file. The loader could perform up to 268,435,456 relocation-section iterations and repeated buffer operations after record offsets passed the end of the file. This can cause denial of service through excessive CPU consumption and prolonged processing. This issue is fixed in version 6.2.0.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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
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
Heap-based Buffer Overflow in GitHub repository radareorg/radare2 prior to 5.9.0. Rated critical severity (CVSS 9.8), th
OS command injection in radare2-mcp (the Model Context Protocol server that bridges the radare2 reverse-engineering fram
Out-of-bounds Read in GitHub repository radareorg/radare2 prior to 5.7.0. Rated critical severity (CVSS 9.1), this vulne
Out-of-bounds Read in r_bin_ne_get_entrypoints function in GitHub repository radareorg/radare2 prior to 5.6.8. Rated cri
Out-of-bounds read in `r_bin_ne_get_relocs` function in GitHub repository radareorg/radare2 prior to 5.6.8. Rated critic
Heap-based Buffer Overflow in GitHub repository radareorg/radare2 prior to 5.9.0. Rated high severity (CVSS 8.8), this v
Command injection in radare2's PDB parser (versions <6.1.4) enables arbitrary command execution when analysts process ma
Command injection in radare2 PDB parser (versions before 6.1.4) enables arbitrary OS command execution when users analyz
In radare 2.0.1, a memory corruption vulnerability exists in store_versioninfo_gnu_verdef() and store_versioninfo_gnu_ve
In radare2 2.0.1, an integer exception (negative number leading to an invalid memory access) exists in store_versioninfo
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| openSUSE Leap 16.0 | Fixed |
EUVD-2026-84467
NVD
CVE.org
EPSS
GitHub
Exploit-DB