Picklescan missing detection when calling pty.spawn
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Code execution
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-502.
Summary
### Summary Using pty.spawn, which is a built-in python library function to execute arbitrary commands on the host system. ### Details The attack payload executes in the following steps: First, the attacker craft the payload by calling to `pty.spawn` function in the `__reduce__` method. Then the victim attempts to use picklescan to scan the pickle file for issues and sees this - ``` ----------- SCAN SUMMARY ----------- Scanned files: 1 Infected files: 0 Dangerous globals: 0 ``` The victim proceeds to load the pickle file and execute attacker-injected arbitrary code. ### PoC ``` class PtyExploit: def __reduce__(self): return (pty.spawn, (["/bin/sh", "-c", "id; exit"],)) ``` ### Impact **Who is impacted?** Any organization or individual relying on picklescan to detect malicious pickle files inside PyTorch models. **What is the impact?** Attackers can embed malicious code in pickle file that remains undetected but executes when the pickle file is loaded. **Supply Chain Attack**: Attackers can distribute infected pickle files across ML models, APIs, or saved Python objects. ### Collaborators https://github.com/ajohnston9 https://github.com/geo-lit
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | picklescan (PyPI) | before 0.0.33 | 0.0.33 | Patch available | GHSA-vqmv-47xg-9wpr |
- picklescan (PyPI) Vendor— Affected before 0.0.33 Fixed in 0.0.33 Patch available GHSA-vqmv-47xg-9wpr
Remediation
- Fix · GHSA-vqmv-47xg-9wpr picklescan (PyPI) Fixed in 0.0.33 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-vqmv-47xg-9wpr
References
Other 5
- https://github.com/mmaitre314/picklescan/security/advisories/GHSA-vqmv-47xg-9wpr
- https://github.com/mmaitre314/picklescan/pull/53
- https://github.com/mmaitre314/picklescan/commit/70c1c6c31beb6baaf52c8db1b6c3c0e84a6f9dab
- https://github.com/mmaitre314/picklescan
- https://github.com/mmaitre314/picklescan/releases/tag/v0.0.33
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences