Every CVE Search/ Get API key

CVE-2026-81884

radare2: Heap out-of-bounds read in radare2 Mach-O LC_DATA_IN_CODE parser

2.5 Low

radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's Mach-O LC_DATA_IN_CODE parser was vulnerable because the Mach-O LC_DATA_IN_CODE parser trusted dataoff and datasize and allowed a final partial record to be processed. The vulnerability is triggered by opening a crafted Mach-O file while the non-default bin.verbose option is enabled. When datasize was not a multiple of data_in_code_entry, the last iteration read beyond the allocated buffer. This can cause a heap out-of-bounds read and possible process termination; no attacker-observable memory disclosure has been demonstrated. This issue is fixed in version 6.2.0.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
High
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

0.15%Unchanged since Sep 23, 2026
90%50%10%1%

What each source reports

CVE List Score used 2.5

radare2: Heap out-of-bounds read in radare2 Mach-O LC_DATA_IN_CODE parser

radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's Mach-O LC_DATA_IN_CODE parser was vulnerable because the Mach-O LC_DATA_IN_CODE parser trusted dataoff and datasize and allowed a final partial record to be processed. The vulnerability is triggered by opening a crafted Mach-O file while the non-default bin.verbose option is enabled. When datasize was not a multiple of data_in_code_entry, the last iteration read beyond the allocated buffer. This can cause a heap out-of-bounds read and possible process termination; no attacker-observable memory disclosure has been demonstrated. This issue is fixed in version 6.2.0.

Record
CVE-2026-81884
CVSS 3.1
2.5 LowCVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L
Weakness
CWE-125
Updated
2026-11-02
EUVDEUVD-2026-84468 2.5

radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's Mach-O LC_DATA_IN_CODE parser was vulnerable because the Mach-O LC_DATA_IN_CODE parser trusted dataoff and datasize and allowed a final partial record to be processed. The vulnerability is triggered by opening a crafted Mach-O file while the non-default bin.verbose option is enabled. When datasize was not a multiple of data_in_code_entry, the last iteration read beyond the allocated buffer. This can cause a heap out-of-bounds read and possible process termination; no attacker-observable memory disclosure has been demonstrated. This issue is fixed in version 6.2.0.

Record
EUVD-2026-84468
CVSS 3.1
2.5 LowCVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L
Updated
2026-11-02
NVD 2.5

radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's Mach-O LC_DATA_IN_CODE parser was vulnerable because the Mach-O LC_DATA_IN_CODE parser trusted dataoff and datasize and allowed a final partial record to be processed. The vulnerability is triggered by opening a crafted Mach-O file while the non-default bin.verbose option is enabled. When datasize was not a multiple of data_in_code_entry, the last iteration read beyond the allocated buffer. This can cause a heap out-of-bounds read and possible process termination; no attacker-observable memory disclosure has been demonstrated. This issue is fixed in version 6.2.0.

Record
CVE-2026-81884
CVSS 3.1
2.5 LowCVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
Weakness
CWE-125
Updated
2026-11-02
OSV 2.5

radare2: Heap out-of-bounds read in radare2 Mach-O LC_DATA_IN_CODE parser

radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's Mach-O LC_DATA_IN_CODE parser was vulnerable because the Mach-O LC_DATA_IN_CODE parser trusted dataoff and datasize and allowed a final partial record to be processed. The vulnerability is triggered by opening a crafted Mach-O file while the non-default bin.verbose option is enabled. When datasize was not a multiple of data_in_code_entry, the last iteration read beyond the allocated buffer. This can cause a heap out-of-bounds read and possible process termination; no attacker-observable memory disclosure has been demonstrated. This issue is fixed in version 6.2.0.

Record
CVE-2026-81884
CVSS 3.1
2.5 LowCVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L
Weakness
CWE-125
Updated
2026-11-02
OSVUBUNTU-CVE-2026-81884 2.5

radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's Mach-O LC_DATA_IN_CODE parser was vulnerable because the Mach-O LC_DATA_IN_CODE parser trusted dataoff and datasize and allowed a final partial record to be processed. The vulnerability is triggered by opening a crafted Mach-O file while the non-default bin.verbose option is enabled. When datasize was not a multiple of data_in_code_entry, the last iteration read beyond the allocated buffer. This can cause a heap out-of-bounds read and possible process termination; no attacker-observable memory disclosure has been demonstrated. This issue is fixed in version 6.2.0.

Record
UBUNTU-CVE-2026-81884
CVSS 3.1
2.5 LowCVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L
CVSS 3.1
3.3 LowCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVopenSUSE-SU-2026:21988-1 No score

Security update for radare2

This update for radare2 fixes the following issues:

Changes in radare2:

  • Update to version 6.2.2:

    • Analysis: new JNI plugin with typed interface tables, arm64 Swift float calling conventions, DWARF prototype linking, jump-table and switch-case fixes
    • Core: fix RAnalOp leaks in disasm/diff/debug loops, aoj memory use, partial-read handling, fp variable recovery
    • Bundle sdb 2.5.2 (upstream pin): rename shlib to libsdb2_5_2
    • Details can be found here: https://github.com/radareorg/radare2/releases/tag/6.2.2
  • Security issues fixed:

    • CVE-2026-81886: Validate dmp64 page counts against dump size (boo#1282346).
    • CVE-2026-81885: Fix infinite loop in the NE fixup parser (boo#1282345).
    • CVE-2026-81884: Validate Mach-O LC_DATA_IN_CODE ranges (boo#1282344).
    • CVE-2026-81883: Fix Lua function parser OOB reads (boo#1282343).
    • CVE-2026-81882: Fix bplist Unicode string conversion (boo#1282342).
    • CVE-2026-81881: Fix Swift Mach-O field metadata bounds check (boo#1282341).
    • CVE-2026-81880: Decode PEF relocs lazily, add more bounds and overflow checks (boo#1282340).
    • CVE-2026-81879: Fix oobread in ELF PN_XNUM phdr count handling (boo#1282339).
    • CVE-2026-81878: Fix heap write overflow in Python loader (boo#1282338).
    • CVE-2026-14788: Denial of Service via use-after-free in r_core_bin_load function (boo#1270453).
    • CVE-2026-14761: Denial of service via integer overflow in string manipulation functions (boo#1270452).
    • CVE-2026-14760: Denial of Service via local use-after-free vulnerability (boo#1270450).
    • CVE-2026-14759: Denial of Service via heap-based buffer overflow (boo#1270449).
    • CVE-2026-14758: Denial of Service via integer overflow in hexpairs parser (boo#1270447).
    • CVE-2026-14757: Integer overflow allows local impact (boo#1270445).
    • CVE-2026-40527: Command injection vulnerability in the afsv/afsvj (boo#1262336).
    • CVE-2026-4174: Missing validation against an upper limit when allocating memory in the Mach-O file parser can lead to excessive resource consumption (boo#1259722).
  • Security issue fixed with the previous release:

    • CVE-2026-41015: Configured on UNIX without SSL, allows command injection via a PDB name to rabin2 (boo#1262190).
    • CVE-2026-40517: Crafted PDB file with newline characters in symbol names can allow to inject arbitrary commands (boo#1262680).
    • CVE-2026-8695: UAFs in the gdb remote protocol ##crash (boo#1265403).
Record
openSUSE-SU-2026:21988-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
radare2
Ubuntu:16.04:LTS
All versions, plus listed versions
0.9.6-3.1ubuntu1
None known
radare2
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
1.6.0+dfsg-12.0.0+dfsg-12.1.0+dfsg-12.3.0+dfsg-12.3.0+dfsg-22.3.0+dfsg-2ubuntu0.1~esm1
None known
radare2
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
3.2.1+dfsg-5build14.0.0+dfsg-14.2.1+dfsg-14.2.1+dfsg-24.2.1+dfsg-2ubuntu0.1~esm1
None known
radare2
Ubuntu:Pro:24.04:LTS
All versions, plus listed versions
5.5.0+dfsg-1ubuntu15.5.0+dfsg-1.1ubuntu25.5.0+dfsg-1.1ubuntu35.5.0+dfsg-1.1ubuntu3+esm1
None known
radare2
Ubuntu:26.10
All versions, plus listed versions
6.0.7+ds-16.1.6+ds-26.1.6+ds-36.1.8+ds-1
None known
radare2
Ubuntu:26.04:LTS
All versions, plus listed versions
5.9.8+dfsg-26.0.4+dfsg-16.0.7+ds-1
None known
radare2
openSUSE:Leap 16.0
From an advisory covering 20 CVEs
before 6.2.2-bp160.1.1
6.2.2-bp160.1.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-81884 is a low vulnerability (CVSS 2.5) in Radare Radare2, published September 22, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.15%, the 4th percentile. No source names a fixed version.

References

Show 43 moreShow less
MoveEnter Open