CVE-2025-67747: CWE-184: Incomplete List of Disallowed Inputs in trailofbits fickling
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 Analysis
Technical Summary
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.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Ireland, Belgium
CVE-2025-67747: CWE-184: Incomplete List of Disallowed Inputs in trailofbits 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
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.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
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 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Related Threats
CVE-2025-13439: CWE-200 Exposure of Sensitive Information to an Unauthorized Actor in radykal Fancy Product Designer
MediumCVE-2025-11991: CWE-862 Missing Authorization in jetmonsters JetFormBuilder — Dynamic Blocks Form Builder
MediumCVE-2025-66635: Stack-based buffer overflow in SEIKO EPSON CORPORATION Web Config
HighCVE-2025-62330: CWE-319 Cleartext Transmission of Sensitive Information in HCL Software DevOps Deploy
MediumCVE-2025-13794: CWE-862 Missing Authorization in themeisle Auto Featured Image (Auto Post Thumbnail)
MediumActions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.