Every CVE Search/ Get API key

CVE-2026-81879

radare2: Heap out-of-bounds read in radare2 ELF PN_XNUM handling

5.5 Medium

radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's ELF PN_XNUM handling was vulnerable because the ELF parser allocated the program-header array using the resolved PN_XNUM count but several consumers still iterated with the original e_phnum value of 65535. The vulnerability is triggered by processing a crafted ELF file with e_phnum = 0xffff and a much smaller resolved count in shdr[0].sh_info. Consumers iterated beyond the allocated program-header array. This can cause a heap out-of-bounds read and process termination, resulting in denial of service; memory disclosure and code execution have not been demonstrated. This issue is fixed in version 6.2.0.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

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

What each source reports

CVE List Score used 5.5

radare2: Heap out-of-bounds read in radare2 ELF PN_XNUM handling

radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's ELF PN_XNUM handling was vulnerable because the ELF parser allocated the program-header array using the resolved PN_XNUM count but several consumers still iterated with the original e_phnum value of 65535. The vulnerability is triggered by processing a crafted ELF file with e_phnum = 0xffff and a much smaller resolved count in shdr[0].sh_info. Consumers iterated beyond the allocated program-header array. This can cause a heap out-of-bounds read and process termination, resulting in denial of service; memory disclosure and code execution have not been demonstrated. This issue is fixed in version 6.2.0.

Record
CVE-2026-81879
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Weakness
CWE-125
Updated
2026-11-02
EUVDEUVD-2026-84504 5.5

radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's ELF PN_XNUM handling was vulnerable because the ELF parser allocated the program-header array using the resolved PN_XNUM count but several consumers still iterated with the original e_phnum value of 65535. The vulnerability is triggered by processing a crafted ELF file with e_phnum = 0xffff and a much smaller resolved count in shdr[0].sh_info. Consumers iterated beyond the allocated program-header array. This can cause a heap out-of-bounds read and process termination, resulting in denial of service; memory disclosure and code execution have not been demonstrated. This issue is fixed in version 6.2.0.

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

radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's ELF PN_XNUM handling was vulnerable because the ELF parser allocated the program-header array using the resolved PN_XNUM count but several consumers still iterated with the original e_phnum value of 65535. The vulnerability is triggered by processing a crafted ELF file with e_phnum = 0xffff and a much smaller resolved count in shdr[0].sh_info. Consumers iterated beyond the allocated program-header array. This can cause a heap out-of-bounds read and process termination, resulting in denial of service; memory disclosure and code execution have not been demonstrated. This issue is fixed in version 6.2.0.

Record
CVE-2026-81879
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
CVSS 3.1
6.1 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H
Weakness
CWE-125
Updated
2026-11-02
OSV 5.5

radare2: Heap out-of-bounds read in radare2 ELF PN_XNUM handling

radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's ELF PN_XNUM handling was vulnerable because the ELF parser allocated the program-header array using the resolved PN_XNUM count but several consumers still iterated with the original e_phnum value of 65535. The vulnerability is triggered by processing a crafted ELF file with e_phnum = 0xffff and a much smaller resolved count in shdr[0].sh_info. Consumers iterated beyond the allocated program-header array. This can cause a heap out-of-bounds read and process termination, resulting in denial of service; memory disclosure and code execution have not been demonstrated. This issue is fixed in version 6.2.0.

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

radare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's ELF PN_XNUM handling was vulnerable because the ELF parser allocated the program-header array using the resolved PN_XNUM count but several consumers still iterated with the original e_phnum value of 65535. The vulnerability is triggered by processing a crafted ELF file with e_phnum = 0xffff and a much smaller resolved count in shdr[0].sh_info. Consumers iterated beyond the allocated program-header array. This can cause a heap out-of-bounds read and process termination, resulting in denial of service; memory disclosure and code execution have not been demonstrated. This issue is fixed in version 6.2.0.

Record
UBUNTU-CVE-2026-81879
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
CVSS 3.1
6.1 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H
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-81879 is a medium vulnerability (CVSS 5.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.18%, the 7th percentile. No source names a fixed version.

References

Show 43 moreShow less
MoveEnter Open