CVE-2025-67748
📋 TL;DR
Fickling versions before 0.1.6 incorrectly flagged unsafe pickle files as safe due to missing 'pty' module in the unsafe import blocklist. This vulnerability allows malicious pickle files using pty.spawn() to bypass security checks, affecting any system using Fickling to analyze pickle files for security risks.
💻 Affected Systems
- Fickling
📦 What is this software?
Fickling by Trailofbits
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution via malicious pickle files that spawn shells or execute arbitrary commands when processed by vulnerable Fickling instances.
Likely Case
Security analysis bypass leading to false sense of security about malicious pickle files, potentially enabling code execution in downstream systems that trust Fickling's analysis.
If Mitigated
Limited to pickle file analysis bypass without direct exploitation if Fickling is used only for static analysis.
🎯 Exploit Status
Exploitation requires creating malicious pickle files that use pty.spawn() and having them analyzed by vulnerable Fickling.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 0.1.6
Vendor Advisory: https://github.com/trailofbits/fickling/security/advisories/GHSA-r7v6-mfhq-g3m2
Restart Required: No
Instructions:
1. Update Fickling using pip: 'pip install --upgrade fickling>=0.1.6'
2. Verify installation: 'pip show fickling'
3. Test with known malicious pickle files to ensure detection works
🔧 Temporary Workarounds
Manual pty module detection
allAdd custom check for pty module imports in pickle analysis scripts
# Add to your analysis script:
import fickling
# Custom check for pty imports in pickle files
🧯 If You Can't Patch
- Discontinue use of Fickling for security analysis of pickle files
- Use alternative pickle analysis tools or manual inspection methods
🔍 How to Verify
Check if Vulnerable:
Check Fickling version: 'pip show fickling | grep Version' - if version is less than 0.1.6, system is vulnerable.
Check Version:
pip show fickling | grep Version
Verify Fix Applied:
Test with pickle files containing pty.spawn() calls - Fickling 0.1.6+ should flag them as unsafe.
📡 Detection & Monitoring
Log Indicators:
- Fickling analysis logs showing pickle files flagged as LIKELY_SAFE that contain pty imports
- Unexpected process spawns from pickle analysis operations
Network Indicators:
- Outbound connections from pickle analysis processes to unexpected destinations
SIEM Query:
process.name:fickling AND (process.cmdline:*pty* OR process.spawn:*pty*)