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.
Problem types
CWE-184: Incomplete List of Disallowed Inputs
CWE-502: Deserialization of Untrusted Data
Product status
References
github.com/...ckling/security/advisories/GHSA-p523-jq9w-64x9
github.com/...ckling/security/advisories/GHSA-p523-jq9w-64x9
github.com/...ommit/dc8ae12966edee27a78fe05c5745171a2b138d43
github.com/trailofbits/fickling/releases/tag/v0.1.7