Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious Mach-O with under-base Swift field pointer
-
DeliveryDeliver file to analyst
-
ExploitVictim opens file in radare2
-
ExecutionNegative index triggers OOB read before buffer
-
ImpactIncorrect metadata parsing or process crash
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection 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 and analyze an attacker-crafted Mach-O file in radare2 prior to 6.2.0, and the file must contain Swift type or class metadata with a relative field pointer lower than the field-metadata section base (triggering the negative logical index). Limiting factors are significant: the attack vector is local (the malicious file must reach the analyst's machine) and requires user interaction (UI:R - the analyst must actively load/parse the file); no remote or unauthenticated path exists. The Swift-metadata parsing code path (mach0_classes.c parse_type) must be reached, so the target must be a Mach-O binary containing Swift metadata. Impact is confined to a 4-byte out-of-bounds read causing crash or incorrect parsing. |
| Impact | This is a genuinely low-priority issue and the low CVSS (3.3) is well-justified rather than inflated. The CVSS vector CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L makes the constraints explicit: exploitation is LOCAL (AV:L) and requires user interaction (UI:R) - a victim must load/analyze a crafted Mach-O file in radare2. The only impact is availability-low (A:L) with no confidentiality or integrity impact (C:N/I:N), consistent with the description's explicit statement that 'no attacker-observable memory disclosure has been demonstrated.' The bug is a 4-byte out-of-bounds READ immediately before the field-metadata buffer (CWE-125), producing at most incorrect metadata parsing or a process crash. No EPSS score, no CISA KEV listing, and no public exploit (POC) are present in the input - status is no public exploit identified at time of analysis. There is a real signal conflict to flag: the input Tags include 'Information Disclosure,' but both the description ('no attacker-observable memory disclosure has been demonstrated') and the CVSS C:N contradict any confidentiality impact - that tag is mislabeled. Bottom line: a real-but-minor robustness/DoS bug in a file parser, not an exploitation priority. |
| Exploit ScenarioDerived | An attacker distributes a maliciously crafted Mach-O binary (e.g., via a malware sample, CTF challenge, or supply-chain artifact) whose Swift type/class metadata contains a relative field pointer lower than the field-metadata section base. When a reverse engineer opens and analyzes the file in a vulnerable radare2 (<6.2.0), the negative logical index causes a 4-byte read just before the allocated buffer, corrupting metadata processing or crashing the analysis process. No public exploit code is identified, and the demonstrated impact is limited to a crash - no memory disclosure or code execution has been shown. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
A local out-of-bounds read in radare2 6.0 and earlier (fixed in 6.2.0) can crash or corrupt the analysis session when an analyst opens a crafted Mach-O binary containing Swift type or class metadata. The CVSS 3.1 score is 3.3 (AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L), reflecting a 4-byte read immediately before the allocated field-metadata buffer that yields at most a process termination or incorrect metadata processing - no attacker-observable memory disclosure has been demonstrated, and the 'Information Disclosure' tag on this record is not substantiated by the advisory. Exploitation requires the victim to deliberately load an untrusted Mach-O file (user interaction), and there is no remote or unauthenticated path; no public exploit identified at time of analysis and the issue is not in CISA KEV.
RemediationAI
Upgrade radare2 to version 6.2.0 or later - vendor-released patch: 6.2.0, per the release tag and advisory GHSA-q4w7-225g-64j9 - and rebuild if radare2 is bundled or statically linked into another tool. Because the fix lands in the Mach-O bin plugin, replacing only the host package without updating the plugin/binary will not remediate the issue. No configuration toggle disables Swift field-metadata parsing, so the practical compensating controls for environments that cannot upgrade immediately are procedural: parse untrusted Mach-O samples only inside a disposable, resource-limited container or VM (accepting that a crash terminates the analysis session but is contained by the isolation boundary), and avoid loading third-party binaries from untrusted sources into a privileged or long-lived radare2 process. Running the analysis under a restricted umask/ulimit and without access to sensitive local files reduces the residual value of any mis-parse, though these controls do not eliminate the out-of-bounds read itself.
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
radare2 is a UNIX-like reverse-engineering framework whose bin_mach0 plugin parses Mach-O containers, including the Objective-C/Swift metadata structures handled in libr/bin/format/objc/mach0_classes.c. Swift type and class metadata describes fields via a field descriptor whose entries are 32-bit relative offsets resolved against the field-metadata section base (st.fieldmd.addr) and bounded by st.fieldmd.size. The flawed code computed the logical index as (st.fields - st.fieldmd.addr) / 4 using signed 32-bit arithmetic and without first verifying that the field pointer was greater than or equal to the section base. A crafted Mach-O file whose relative Swift field pointer is lower than the section base therefore produces a negative index, and subsequent use of that index reads four bytes immediately before the allocated field-metadata buffer (CWE-125, out-of-bounds read). The upstream fix (commit 1da6e782df220edf56138ef5fe4f33745b04db74) adds an explicit st.fields >= st.fieldmd.addr check, converts the delta and index arithmetic to unsigned 64-bit values, enforces fieldmd_delta < st.fieldmd.size plus d < dmax and d <= SZT_MAX/sizeof(ut32), and replaces the d-1 offset with idx-1 on a validated size_t index. CPE data maps the issue to cpe:2.3:a:radareorg:radare2:* - all releases before 6.2.0 that include the affected Mach-O Swift metadata parser.
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:L/I:N/A:L
Local file must be opened by the analyst (AV:L, UI:R); no auth needed to craft input (PR:N); only a 4-byte OOB read causing crash (A:L), with no disclosure (C:N) or integrity impact (I:N).
AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's Mach-O Swift field-metadata parser was vulnerable because a relative Swift field pointer could be lower than the field-metadata section base, making subtraction produce a negative logical index. The vulnerability is triggered by parsing Swift type and class metadata from a crafted Mach-O file. The derived index was used to read four bytes immediately before the allocated field-metadata buffer. This can cause incorrect metadata processing or process termination; no attacker-observable memory disclosure has been demonstrated. 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
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
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-125 – Out-of-bounds Read
View allSame technique Buffer Overflow
View allVendor StatusVendor
SUSE
Severity: Low| Product | Status |
|---|---|
| openSUSE Leap 16.0 | Fixed |
EUVD-2026-84502
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB