{"id":"CVE-2026-81879","aliases":["EUVD-2026-84504","GHSA-jqfq-hvcp-xh4p","UBUNTU-CVE-2026-81879","openSUSE-SU-2026:21988-1"],"status":"published","title":"radare2: Heap out-of-bounds read in radare2 ELF PN_XNUM handling","description":"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.","severity":{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00182,"percentile":0.07874,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-125"],"published":"2026-09-22T15:09:01Z","modified":"2026-10-28T11:18:05Z","affected":[{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"radare2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.9.6-3.1ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"radare2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.6.0+dfsg-1","2.0.0+dfsg-1","2.1.0+dfsg-1","2.3.0+dfsg-1","2.3.0+dfsg-2","2.3.0+dfsg-2ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"radare2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.2.1+dfsg-5build1","4.0.0+dfsg-1","4.2.1+dfsg-1","4.2.1+dfsg-2","4.2.1+dfsg-2ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"radare2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.5.0+dfsg-1ubuntu1","5.5.0+dfsg-1.1ubuntu2","5.5.0+dfsg-1.1ubuntu3","5.5.0+dfsg-1.1ubuntu3+esm1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"radare2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["6.0.7+ds-1","6.1.6+ds-2","6.1.6+ds-3","6.1.8+ds-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"radare2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.9.8+dfsg-2","6.0.4+dfsg-1","6.0.7+ds-1"]},{"source":"osv","ecosystem":"openSUSE:Leap 16.0","package":"radare2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.2.2-bp160.1.1"}]}],"bundled":20}],"products":[{"vendor":"radare","product":"radare2"},{"vendor":"radare2","product":"radare2"},{"vendor":"radareorg","product":"radare2"}],"references":[{"url":"https://github.com/radareorg/radare2/security/advisories/GHSA-jqfq-hvcp-xh4p","tags":["x_refsource_CONFIRM","Patch","Vendor Advisory","advisory","report"]},{"url":"https://github.com/radareorg/radare2/issues/26223","tags":["x_refsource_MISC","exploit","Exploit","Issue Tracking","Mitigation","Vendor Advisory","report"]},{"url":"https://github.com/radareorg/radare2/pull/26178","tags":["x_refsource_MISC","Patch","fix","report"]},{"url":"https://github.com/radareorg/radare2/commit/9449b07579c19b6b187c1a0918fbec2cef1a036e","tags":["x_refsource_MISC","Patch","fix","report"]},{"url":"https://github.com/radareorg/radare2/releases/tag/6.2.0","tags":["x_refsource_MISC","Release Notes","web","report"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/81xxx/CVE-2026-81879.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-81879","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-81879","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-81879","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1259722","tags":["report"]},{"url":"https://bugzilla.suse.com/1262190","tags":["report"]},{"url":"https://bugzilla.suse.com/1262336","tags":["report"]},{"url":"https://bugzilla.suse.com/1262680","tags":["report"]},{"url":"https://bugzilla.suse.com/1265403","tags":["report"]},{"url":"https://bugzilla.suse.com/1270445","tags":["report"]},{"url":"https://bugzilla.suse.com/1270447","tags":["report"]},{"url":"https://bugzilla.suse.com/1270449","tags":["report"]},{"url":"https://bugzilla.suse.com/1270450","tags":["report"]},{"url":"https://bugzilla.suse.com/1270452","tags":["report"]},{"url":"https://bugzilla.suse.com/1270453","tags":["report"]},{"url":"https://bugzilla.suse.com/1282338","tags":["report"]},{"url":"https://bugzilla.suse.com/1282339","tags":["report"]},{"url":"https://bugzilla.suse.com/1282340","tags":["report"]},{"url":"https://bugzilla.suse.com/1282341","tags":["report"]},{"url":"https://bugzilla.suse.com/1282342","tags":["report"]},{"url":"https://bugzilla.suse.com/1282343","tags":["report"]},{"url":"https://bugzilla.suse.com/1282344","tags":["report"]},{"url":"https://bugzilla.suse.com/1282345","tags":["report"]},{"url":"https://bugzilla.suse.com/1282346","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-14757","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-14758","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-14759","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-14760","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-14761","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-14788","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-40517","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-40527","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-41015","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-4174","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-81878","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-81879","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-81880","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-81881","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-81882","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-81883","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-81884","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-81885","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-81886","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-8695","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-81879","title":"radare2: Heap out-of-bounds read in radare2 ELF PN_XNUM handling","description":"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.","status":"published","published":"2026-09-22T15:09:01.91Z","modified":"2026-09-22T15:38:46.17Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T13:36:29.327819Z"}],"euvd":[{"id":"EUVD-2026-84504","description":"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.","status":"published","published":"2026-09-22T15:09:01Z","modified":"2026-09-22T15:38:46Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T17:28:02.937716Z"}],"nvd":[{"id":"CVE-2026-81879","description":"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.","status":"published","published":"2026-09-22T16:18:02.617Z","modified":"2026-09-25T16:53:48.707Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H","level":"medium","assessor":"primary"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T14:12:50.368368Z"}],"osv":[{"id":"CVE-2026-81879","title":"radare2: Heap out-of-bounds read in radare2 ELF PN_XNUM handling","description":"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.","status":"published","published":"2026-09-22T15:09:01.91Z","modified":"2026-10-28T11:18:05.062465803Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T15:45:18.131258Z"},{"id":"UBUNTU-CVE-2026-81879","description":"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.","status":"published","published":"2026-09-22T16:18:00Z","modified":"2026-10-17T13:01:10.673034459Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"},{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T16:57:22.213888Z"},{"id":"openSUSE-SU-2026:21988-1","title":"Security update for radare2","description":"This update for radare2 fixes the following issues:\n\nChanges in radare2:\n\n- Update to version 6.2.2:\n  * Analysis: new JNI plugin with typed interface tables, arm64\n    Swift float calling conventions, DWARF prototype linking,\n    jump-table and switch-case fixes\n  * Core: fix RAnalOp leaks in disasm/diff/debug loops, aoj memory\n    use, partial-read handling, fp variable recovery\n  * Bundle sdb 2.5.2 (upstream pin): rename shlib to libsdb2_5_2\n  * Details can be found here:\n    https://github.com/radareorg/radare2/releases/tag/6.2.2\n\n- Security issues fixed:\n  * CVE-2026-81886: Validate dmp64 page counts against dump size\n    (boo#1282346).\n  * CVE-2026-81885: Fix infinite loop in the NE fixup parser\n    (boo#1282345).\n  * CVE-2026-81884: Validate Mach-O LC_DATA_IN_CODE ranges\n    (boo#1282344).\n  * CVE-2026-81883: Fix Lua function parser OOB reads (boo#1282343).\n  * CVE-2026-81882: Fix bplist Unicode string conversion (boo#1282342).\n  * CVE-2026-81881: Fix Swift Mach-O field metadata bounds check\n    (boo#1282341).\n  * CVE-2026-81880: Decode PEF relocs lazily, add more bounds and\n    overflow checks (boo#1282340).\n  * CVE-2026-81879: Fix oobread in ELF PN_XNUM phdr count handling\n    (boo#1282339).\n  * CVE-2026-81878: Fix heap write overflow in Python loader\n    (boo#1282338).\n  * CVE-2026-14788: Denial of Service via use-after-free in\n    r_core_bin_load function (boo#1270453).\n  * CVE-2026-14761: Denial of service via integer overflow in string\n    manipulation functions (boo#1270452).\n  * CVE-2026-14760: Denial of Service via local use-after-free\n    vulnerability (boo#1270450).\n  * CVE-2026-14759: Denial of Service via heap-based buffer overflow\n    (boo#1270449).\n  * CVE-2026-14758: Denial of Service via integer overflow in hexpairs\n    parser (boo#1270447).\n  * CVE-2026-14757: Integer overflow allows local impact (boo#1270445).\n  * CVE-2026-40527: Command injection vulnerability in the afsv/afsvj\n    (boo#1262336).\n  * CVE-2026-4174: Missing validation against an upper limit when\n    allocating memory in the Mach-O file parser can lead to excessive\n    resource consumption (boo#1259722).\n- Security issue fixed with the previous release:\n  * CVE-2026-41015: Configured on UNIX without SSL, allows command\n    injection via a PDB name to rabin2 (boo#1262190).\n  * CVE-2026-40517: Crafted PDB file with newline characters in symbol\n    names can allow to inject arbitrary commands (boo#1262680).\n  * CVE-2026-8695: UAFs in the gdb remote protocol ##crash (boo#1265403).\n","status":"published","published":"2026-09-25T08:25:52Z","modified":"2026-10-01T18:23:10.943305024Z","updated_at":"2026-11-02T16:58:42.426393Z"}]}}
