Fickling Python Pickling Decompiler and Analyzer Arbitrary Code Execution Vulnerability

Vulnerability

A vulnerability in Fickling, a Python pickling decompiler and static analyzer, allows for arbitrary code execution. This issue affects versions prior to 0.1.6, which do not include 'marshal' and 'types' in the block list of unsafe module imports. As a result, an attacker can create a malicious pickle file that exploits this oversight by using 'types.FunctionType' and 'marshal.loads' to execute arbitrary code upon deserialization. This vulnerability impacts any user or system relying on Fickling to analyze pickle files for security risks.

Impact

Exploitation of this vulnerability allows for arbitrary code execution on the system where the malicious pickle file is deserialized.

Reproduction

The vulnerability can be reproduced by creating a pickle file that uses 'marshal.loads' and 'types.FunctionType' to execute code. This crafted pickle file can then be analyzed with Fickling, version 0.1.5 or earlier, which will fail to detect the malicious content and instead allow the code execution to occur.

Remediation

Users can upgrade to Fickling version 0.1.6 or later, which addresses this vulnerability by adding 'marshal' and 'types' to the list of unsafe module imports.

Added: Dec 16, 2025, 1:23 AM
Updated: Dec 16, 2025, 1:23 AM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
10.0
exploitability
7.7
remediation
7.7
relevance
1.4
threat
6.4
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.