Vulnerability · Published Jan 10, 2026 · Assigned by GitHub_M

CVE-2026-22606Fickling has a bypass via runpy.run_path() and runpy.run_module()

High 8.9

In plain English

A high-severity unsafe deserialization in fickling from trailofbits. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 42% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 4.0)8.9High
Exploit odds (30 days)0.5%top 58.2% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official description

Fickling is a Python pickling decompiler and static analyzer. Fickling versions up to and including 0.1.6 do not treat Python’s runpy module as unsafe. Because of this, a malicious pickle that uses runpy.run_path() or runpy.run_module() is classified as SUSPICIOUS instead of OVERTLY_MALICIOUS. If a user relies on Fickling’s output to decide whether a pickle is safe to deserialize, this misclassification can lead them to execute attacker-controlled code on their system. This affects any workflow or product that uses Fickling as a security gate for pickle deserialization. This issue has been patched in version 0.1.7.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
PyPIfickling0.1.7GHSA-wfq2-52f7-7qvj
PyPIfickling0.1.7PYSEC-2026-1373

Affected products (as reported)

VendorProductVersions
trailofbits fickling < 0.1.7

Weakness: CWE-184, CWE-502 · Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P

References