---
id: CVE-2026-81878
title: radare2 is a UNIX-like reverse engineering framework and command-line toolset
summary: >-
  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
  reje…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'
cwe:
  - CWE-190
  - CWE-787
vendor: radare
product: radare2
affected:
  - radare2 < 6.2.0
patched:
  - radare2 6.2.0
published: '2026-09-22'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T16:54:31.207'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-81878'
references:
  - url: >-
      https://github.com/radareorg/radare2/commit/6727454b666b28c33837b219a5f91136461357c0
    label: security-advisories@github.com
  - url: 'https://github.com/radareorg/radare2/issues/26222'
    label: security-advisories@github.com
  - url: 'https://github.com/radareorg/radare2/pull/26177'
    label: security-advisories@github.com
  - url: 'https://github.com/radareorg/radare2/releases/tag/6.2.0'
    label: security-advisories@github.com
  - url: >-
      https://github.com/radareorg/radare2/security/advisories/GHSA-9phv-v2w8-56j3
    label: security-advisories@github.com
  - url: 'https://github.com/radareorg/radare2/issues/26222'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
  - cve.org
  - exploit-available
epss: 0.00202
epssPercentile: 0.09143
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-09-22T17:54:59.836434Z'
ingestedAt: '2026-09-22T16:06:00.501Z'
---

## Overview

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.

## Affected

- `radare2 < 6.2.0`

## Remediation

Upgrade past the affected range:

- `radare2 6.2.0`
