radare2: Integer overflow causes heap out-of-bounds write in radare2 PYC parser
cve-program · CVE-2026-81878
Publishedradare2 is a UNIX-like reverse engineering framework and command-line toolset. Prior to 6.2.0, radare2's CPython bytecode .pyc marshal parser was vulnerable because the CPython marshal readers accepted a 32-bit string length without rejecting values that overflow the size-plus-one allocation. The vulnerability is triggered by opening or inspecting a crafted .pyc file through r2 or rabin2. A length of 0xffffffff wrapped the allocation to zero before the common byte reader wrote attacker-controlled data and fill bytes beyond the heap allocation. This can cause heap memory corruption and denial of service; arbitrary code execution is possible but has not been demonstrated. This issue is fixed in version 6.2.0.
Read the publisher's advisoryAffected versions, risk and source history
Related advisories and sources
Publishers link these advisories through the identifiers shown below. A shared identifier or date alone does not tell you whether your software is affected or whether the advisories describe the same cause.
CVE-2026-81878 · CVE overview and exploitation status
cve-program · CVE-2026-81878
- https://github.com/radareorg/radare2/security/advisories/GHSA-9phv-v2w8-56j3
- https://github.com/radareorg/radare2/issues/26222
- https://github.com/radareorg/radare2/pull/26177
- https://github.com/radareorg/radare2/commit/6727454b666b28c33837b219a5f91136461357c0
- https://github.com/radareorg/radare2/releases/tag/6.2.0
Related changes
Linked by CVE identifierNo related changes are available here.