CVE-2025-5175
📋 TL;DR
CVE-2025-5175 is an improper authorization vulnerability in erdogant pypickle's Save function that allows local attackers to bypass intended access controls. This affects users of pypickle versions up to 1.1.5 who have the library installed and use its Save functionality. The vulnerability requires local access to exploit but could lead to unauthorized data manipulation.
💻 Affected Systems
- erdogant pypickle
📦 What is this software?
Pypickle by Erdogant
⚠️ Risk & Real-World Impact
Worst Case
Local attacker gains unauthorized write access to pickle files, potentially modifying or corrupting serialized data used by applications.
Likely Case
Malicious local user exploits the vulnerability to tamper with pickle files, affecting application data integrity.
If Mitigated
With proper access controls and monitoring, impact is limited to potential data integrity issues within the local environment.
🎯 Exploit Status
Exploit requires local access to the system. The vulnerability has been publicly disclosed with technical details available.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.0.0
Vendor Advisory: https://github.com/erdogant/pypickle/releases/tag/2.0.0
Restart Required: No
Instructions:
1. Upgrade pypickle to version 2.0.0 or later using pip: pip install --upgrade pypickle==2.0.0
2. Verify the installation with: pip show pypickle
3. Test that the Save function works correctly in your application.
🔧 Temporary Workarounds
Restrict local access
allLimit local user access to systems running vulnerable pypickle versions
Disable pypickle Save function
allModify applications to avoid using the vulnerable Save function
🧯 If You Can't Patch
- Implement strict access controls to limit which users can run applications using pypickle
- Monitor file system activity for unauthorized modifications to pickle files
🔍 How to Verify
Check if Vulnerable:
Check pypickle version with: pip show pypickle | grep Version
If version is 1.1.5 or earlier, the system is vulnerable.
Check Version:
pip show pypickle | grep Version
Verify Fix Applied:
After upgrade, verify version is 2.0.0 or later with: pip show pypickle | grep Version
📡 Detection & Monitoring
Log Indicators:
- Unauthorized file write attempts to pickle files
- Errors in applications using pypickle Save function
Network Indicators:
- None - local vulnerability only
SIEM Query:
Search for process execution of Python scripts using pypickle library with file write operations to .pkl files
🔗 References
- https://github.com/erdogant/pypickle/commit/14b4cae704a0bb4eb6723e238f25382d847a1917
- https://github.com/erdogant/pypickle/issues/3
- https://github.com/erdogant/pypickle/issues/3#issue-3070689116
- https://github.com/erdogant/pypickle/issues/3#issuecomment-2888589652
- https://github.com/erdogant/pypickle/releases/tag/2.0.0
- https://vuldb.com/?ctiid.310263
- https://vuldb.com/?id.310263
- https://vuldb.com/?submit.579824
- https://github.com/erdogant/pypickle/issues/3