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.
Published: 2026-09-22
Score: 5.5 Medium
EPSS: n/a
KEV: No
Impact: Heap memory corruption leading to denial of service with potential for arbitrary code execution
Action: Apply Patch
AI Analysis

Impact

The vulnerability originates in radare2’s CPython bytecode (.pyc) marshal parser. Before version 6.2.0 the parser accepts a 32‑bit string length field and does not guard against values that overflow the size+1 allocation. When a crafted .pyc file uses a length of 0xffffffff, the resulting allocation size wraps to zero and the subsequent reader writes attacker‑controlled data beyond the allocated heap block. This out‑of‑bounds write corrupts heap memory; it can crash the process, producing a denial of service, and may be leveraged to execute arbitrary code, though such exploitation has not yet been demonstrated. The impact is therefore defined as heap corruption with a potential for remote code execution but with immediate risk of service interruption.

Affected Systems

This issue affects the radare2 project when the radare2 binary is earlier than release 6.2.0. The affected vendors include radareorg, and the product is radare2, a UNIX‑like reverse engineering framework and command‑line toolset. Any installation relying on the CPython bytecode parser for opening or inspecting .pyc files is vulnerable. Versions older than 6.2.0 should be addressed promptly.

Risk and Exploitability

CVSS score 5.5 indicates moderate severity, and the EPSS score is not provided. Since the issue is not listed in the CISA KEV catalog and no active exploits are known, the likelihood of a successful remote exploitation is currently low. Nevertheless, the denial of service effect can disrupt critical analysis workflows. The attack vector is inferred to be local or remote file injection via the r2 or rabin2 commands when a malicious .pyc file is processed. The vulnerability can be triggered without user interaction beyond providing the crafted file to radare2.

Generated by OpenCVE AI on September 22, 2026 at 17:09 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade radare2 to version 6.2.0 or later, where the marshal parser has been fixed
  • Avoid opening or inspecting untrusted .pyc files with r2 or rabin2 until update is applied
  • Replace or patch the CPython marshal readers to reject 32‑bit sizes that exceed the maximum safe bound if an upgrade is impossible
  • Apply any vendor‑issued workarounds if available and validate the integrity of .pyc files before processing

Generated by OpenCVE AI on September 22, 2026 at 17:09 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 22 Sep 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 22 Sep 2026 17:15:00 +0000

Type Values Removed Values Added
First Time appeared Radareorg
Radareorg radare2
Vendors & Products Radareorg
Radareorg radare2

Tue, 22 Sep 2026 15:15:00 +0000

Type Values Removed Values Added
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.
Title radare2: Integer overflow causes heap out-of-bounds write in radare2 PYC parser
Weaknesses CWE-190
CWE-787
References
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'}


Subscriptions

Radareorg Radare2
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-22T17:55:51.200Z

Reserved: 2026-08-27T17:48:42.122Z

Link: CVE-2026-81878

cve-icon Vulnrichment

Updated: 2026-09-22T17:55:19.361Z

cve-icon NVD

Status : Received

Published: 2026-09-22T16:18:02.457

Modified: 2026-09-22T18:17:20.517

Link: CVE-2026-81878

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-22T17:15:15Z

Weaknesses