GHSA-vqmv-47xg-9wpr Picklescan missing detection when calling pty.spawn
Picklescan fails to detect malicious pickle files using pty.spawn, allowing attackers to execute arbitrary code when victims load infected models.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is GHSA-vqmv-47xg-9wpr?
GHSA-vqmv-47xg-9wpr is an unsafe deserialization vulnerability in picklescan, published on 29 Dec 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
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
Which versions are affected by GHSA-vqmv-47xg-9wpr?
2 open source packages ship an affected version, including picklescan.
| Package | Affected | Fixed in |
|---|---|---|
picklescan PyPI | All versions | 0.0.33 |
picklescan PyPI | All versions | 0.0.33 |
How do I fix GHSA-vqmv-47xg-9wpr?
Upgrade picklescan to 0.0.33 or later.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is GHSA-vqmv-47xg-9wpr being exploited?
There is no known exploitation of GHSA-vqmv-47xg-9wpr in the wild and no public exploit code.