CVE-2026-22606 PUBLISHED

Fickling has a bypass via runpy.run_path() and runpy.run_module()

Assigner: GitHub_M
Reserved: 07.01.2026 Published: 10.01.2026 Updated: 13.01.2026

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.

Metrics

CVSS 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
CVSS Score: 8.9

Product Status

Vendor trailofbits
Product fickling
Versions
  • Version < 0.1.7 is affected

References

Problem Types

  • CWE-184: Incomplete List of Disallowed Inputs CWE
  • CWE-502: Deserialization of Untrusted Data CWE