Vulnerability · Published Dec 16, 2025 · Assigned by GitHub_M

CVE-2025-67747Fickling has missing detection for marshal.loads and types.FunctionType in unsafe modules list

High 7.1

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.3% (higher than 20% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 4.0)7.1High
Exploit odds (30 days)0.3%top 79.6% 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. Versions prior to 0.1.6 are missing `marshal` and `types` from the block list of unsafe module imports. Fickling started blocking both modules to address this issue. This allows an attacker to craft a malicious pickle file that can bypass fickling since it misses detections for `types.FunctionType` and `marshal.loads`. A user who deserializes such a file, believing it to be safe, would inadvertently execute arbitrary code on their system. This impacts any user or system that uses Fickling to vet pickle files for security issues. The issue was fixed in version 0.1.6.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
PyPIfickling0.1.6GHSA-565g-hwwr-4pp3
PyPIfickling0.1.6PYSEC-2026-1368

Affected products (as reported)

VendorProductVersions
trailofbits fickling < 0.1.6

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

References