CVE-2026-22606 json
Fickling has a bypass via runpy.run_path() and runpy.run_module()
published 2026-01-09 9 mo ago modified 2026-07-07 4 mo ago also EUVD-2026-1688 , GHSA-wfq2-52f7-7qvj , PYSEC-2026-1373
- cvss
- 7.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 41%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi fickling 0.1.7
- trailofbits fickling 0.1.7
- github.com/trailofbits/fickling@9a2b3f8 commit
- github.com/trailofbits/fickling#108 pull request
- github.com/trailofbits/fickling#187 pull request
- github.com/trailofbits/fickling#195 pull request
- github.com/trailofbits/fickling/releases/tag/v0.1.7 release
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- total
- Assessed
- 9 mo ago
Exploit prediction
0.48% chance of exploitation in the next 30 days, higher than 41% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/trailofbits/fickling/security/advisories/GHSA-wfq2-52f7-7qvj referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.9 | 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 |
| CNA | 4.0 | 8.9 | 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/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | fickling | <0.1.7 |
0.1.7 |
Affected products
- trailofbits fickling
Classification
References
-
github.com
/trailofbits/fickling/commit/9a2b3f89bd0598b528d62c10a64c1986fcb09f66
web, patch
-
github.com
/trailofbits/fickling/pull/108
web
-
github.com
/trailofbits/fickling/pull/187
web
-
github.com
/trailofbits/fickling/pull/195
web
-
github.com
/trailofbits/fickling/security/advisories/GHSA-wfq2-52f7-7qvj
exploit, web, vendor-advisory
-
github.com
/trailofbits/fickling/releases/tag/v0.1.7
web, release-notes
-
github.com
/trailofbits/fickling/security/advisories/GHSA-565g-hwwr-4pp3
web
-
github.com
/trailofbits/fickling/security/advisories/GHSA-r7v6-mfhq-g3m2
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-22606
advisory
-
github.com
/trailofbits/fickling
package
-
github.com
/trailofbits/fickling/blob/977b0769c13537cd96549c12bb537f05464cf09c/test/test_bypasses.py#L87
web
-
pypi.org
/project/fickling
package
-
github.com
/advisories/GHSA-wfq2-52f7-7qvj
advisory
Sources
- CVE List CVE-2026-22606
- GitHub Advisory GHSA-wfq2-52f7-7qvj
- NVD CVE-2026-22606
- OSV PYSEC-2026-1373
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.