erdogant pypickle Remote Code Execution Vulnerability via Insecure Deserialization

Vulnerability

A remote code execution vulnerability has been identified in the erdogant pypickle library, specifically in versions up to and including 1.1.5. The issue arises in the load function of pypickle.py, where data is deserialized using Python's pickle.load() without proper validation or sanitization. This flaw allows an attacker to execute arbitrary code by supplying a malicious pickle file. Although local access is required to exploit this vulnerability, the potential impact includes remote code execution and compromise of the affected system.

Impact

Exploitation of this vulnerability allows for arbitrary code execution on the system where the vulnerable pypickle library is used.

Reproduction

To reproduce this vulnerability, first clone the pypickle repository and navigate to the directory. Then, create a malicious pickle file named 'malicious.pkl' using a Python script that exploits the insecure deserialization. This script should be crafted to execute a command, such as opening the calculator application on Windows or Linux. After generating the malicious pickle file, run a Python script that loads this file using the vulnerable pypickle library. The execution of the command embedded in the pickle file will demonstrate the successful exploitation of the vulnerability.

Remediation

Users are advised to upgrade to pypickle version 2.0.0 or later, where this vulnerability has been addressed.

Added: Jun 9, 2025, 7:46 PM
Updated: Jun 9, 2025, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
7.5
exploitability
4.6
remediation
7.7
relevance
0.0
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.