CVE-2026-22607 Fickling Blocklist Bypass: cProfile.run()
Fickling misclassifies malicious pickles using cProfile.run(), allowing attackers to execute code if users rely on it for safety checks.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-22607?
CVE-2026-22607 is a high-severity unsafe deserialization vulnerability in trailofbits fickling, published on 10 Jan 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
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 cProfile module as unsafe. Because of this, a malicious pickle that uses cProfile.run() 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.
Which versions are affected by CVE-2026-22607?
3 open source packages ship an affected version, including fickling. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
fickling PyPI | All versions | 0.1.7 |
fickling PyPI | All versions | 0.1.7 |
fickling PyPI | All versions | 0.1.7 |
Products include Trailofbits Fickling.
How do I fix CVE-2026-22607?
Upgrade fickling to 0.1.7 or later.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is CVE-2026-22607 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-22607 exists.
Other vulnerabilities in trailofbits fickling
- CVE-2026-22606 Fickling has a bypass via runpy.run_path() and runpy.run_module()
- CVE-2026-22608 Fickling vulnerable to use of ctypes and pydoc gadget chain to bypass detection
- CVE-2026-22609 Fickling has Static Analysis Bypass via Incomplete Dangerous Module Blocklist
- CVE-2026-22612 Fickling vulnerable to detection bypass due to "builtins" blindness
- CVE-2026-14534 Fickling check_safety() bypass via unlisted standard library modules (_posixsubprocess, site, atexit)
Sources
Also known as GHSA-p523-jq9w-64x9, PYSEC-2026-1371.