CVE-2026-81878
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.
Does this matter?
Lower severity and a low EPSS score (0.20%). Track it; it rarely justifies an emergency change on its own.
Description
radare2 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.
- CVSS 3.1
- 5.5 MEDIUMCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
- EPSS
- 0.20% probability · 10th percentile
- Public exploits
- None in Exploit-DB
- CISA KEV
- Not listed
- Weakness
- CWE-190, CWE-787
- Affected
- radare/radare2
- Source
- security-advisories@github.com
EPSS moved from 0.2% on 23 September 2026 to 0.2% on 26 October 2026.
References
- https://github.com/radareorg/radare2/commit/6727454b666b28c33837b219a5f91136461357c0Patch
- https://github.com/radareorg/radare2/issues/26222Exploit, Mitigation, Vendor Advisory
- https://github.com/radareorg/radare2/pull/26177Patch
- https://github.com/radareorg/radare2/releases/tag/6.2.0Release Notes
- https://github.com/radareorg/radare2/security/advisories/GHSA-9phv-v2w8-56j3Patch, Vendor Advisory
- https://github.com/radareorg/radare2/issues/26222Exploit, Mitigation, Vendor Advisory
Source: NVD record, EPSS from FIRST.org, KEV from CISA, exploits from Exploit-DB. Refreshed daily. Download this record as JSON.