Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…

CVE-2025-67747: CWE-184: Incomplete List of Disallowed Inputs in trailofbits fickling

0
High
VulnerabilityCVE-2025-67747cvecve-2025-67747cwe-184cwe-502
Published: Tue Dec 16 2025 (12/16/2025, 00:32:52 UTC)
Source: CVE Database V5
Vendor/Project: trailofbits
Product: fickling

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.

AI-Powered Analysis

AILast updated: 12/16/2025, 01:00:43 UTC

Technical Analysis

CVE-2025-67747 affects the Fickling tool, a Python pickling decompiler and static analyzer designed to detect unsafe pickle files. Prior to version 0.1.6, Fickling's security mechanism did not include the 'marshal' and 'types' modules in its block list of unsafe imports. This omission allows attackers to craft malicious pickle files that leverage 'types.FunctionType' and 'marshal.loads' to execute arbitrary code upon deserialization. Since Fickling is used to vet pickle files for security, this incomplete filtering creates a false sense of security, leading users to deserialize malicious content inadvertently. The vulnerability is categorized under CWE-184 (Incomplete List of Disallowed Inputs) and CWE-502 (Deserialization of Untrusted Data). Exploitation requires user interaction—specifically, the user must deserialize the malicious pickle file. The CVSS 4.0 score is 7.1, indicating high severity, with local attack vector, low complexity, no privileges required, but user interaction needed, and high impact on confidentiality, integrity, and availability. The flaw was addressed in Fickling version 0.1.6 by adding 'marshal' and 'types' to the block list, preventing bypass of the tool's security checks. No public exploits are known at this time, but the risk remains significant for users relying on vulnerable versions.

Potential Impact

For European organizations, this vulnerability poses a substantial risk, particularly for those using Fickling to analyze or vet pickle files in development, testing, or production environments. Successful exploitation leads to arbitrary code execution, potentially compromising system confidentiality, integrity, and availability. This can result in data breaches, unauthorized access, lateral movement within networks, and disruption of critical services. Organizations in sectors such as finance, healthcare, research, and technology that rely on Python-based workflows or automated security vetting tools are especially vulnerable. The false sense of security from using Fickling without the patch may lead to increased exposure to supply chain attacks or insider threats leveraging malicious pickle files. Given the local attack vector and required user interaction, the threat is more pronounced in environments where untrusted pickle files are received or processed without additional safeguards.

Mitigation Recommendations

The primary mitigation is to upgrade Fickling to version 0.1.6 or later, which includes the fix blocking 'marshal' and 'types' modules. Organizations should audit their environments to identify any usage of vulnerable Fickling versions and replace them promptly. Additionally, implement strict controls on pickle file sources, avoiding deserialization of untrusted or unauthenticated pickle data. Employ alternative safer serialization formats (e.g., JSON, YAML with safe loaders) where possible. Incorporate multi-layered security measures such as sandboxing deserialization processes, applying runtime monitoring for anomalous behavior, and enforcing least privilege principles on systems performing deserialization. Security teams should also educate developers and users about the risks of pickle deserialization and the importance of verifying tool versions and updates. Finally, integrate continuous vulnerability management to detect and remediate similar issues proactively.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.2
Assigner Short Name
GitHub_M
Date Reserved
2025-12-11T18:08:02.947Z
Cvss Version
4.0
State
PUBLISHED

Threat ID: 6940abb2d9bcdf3f3d143158

Added to database: 12/16/2025, 12:45:38 AM

Last enriched: 12/16/2025, 1:00:43 AM

Last updated: 12/16/2025, 7:42:34 AM

Views: 12

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats