GHSA-vqmv-47xg-9wpr Picklescan missing detection when calling pty.spawn

Not scored Published

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

https://github.com/ajohnston9 https://github.com/geo-lit

Which versions are affected by GHSA-vqmv-47xg-9wpr?

2 open source packages ship an affected version, including picklescan.

PackageAffectedFixed in
picklescan PyPIAll versions0.0.33
picklescan PyPIAll versions0.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.

Sources

Is GHSA-vqmv-47xg-9wpr in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free