CVE-2025-71368: picklescan detection bypass via doctest.debug_script

CVE-2025-71368 · Severity: high · CVSS 8.1 · Published 2026-06-30

picklescan is a security tool used to scan Python pickle files and machine learning models for malicious code. A vulnerability in versions before 0.0.30 allows specially crafted malicious files to bypass detection by using a specific Python function. If a user trusts the scan results and opens the file, an attacker can execute arbitrary commands on the user's system, potentially leading to a full system compromise.

Technologies: picklescan (PyPI). Vendors: PyPI.

Quick answers

Is CVE-2025-71368 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2025-71368 being exploited in the wild.
How severe is CVE-2025-71368?
High severity, with a CVSS score of 8.1, published 30 June 2026.
Which products and versions are affected?
picklescan (PyPI) ECOSYSTEM:introduced=0,fixed=0.0.30.
Is there a fix for CVE-2025-71368?
Yes. picklescan (PyPI): upgrade to 0.0.30 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2025-71368 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2025-71368?
Check whether you run picklescan (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • picklescan (PyPI): upgrade to 0.0.30 or later
    pip install "picklescan>=0.0.30"

Technical details

A deserialization vulnerability (CWE-502) exists in picklescan due to an incomplete blocklist of dangerous functions. The tool fails to identify the 'doctest.debug_script' function when analyzing pickle files. An attacker can craft a malicious pickle file using the '__reduce__' method to call this function, which internally executes arbitrary Python code via 'exec()'. If a victim relies on picklescan to validate a file and subsequently loads it using 'pickle.load()', the embedded payload will execute. This issue is resolved in version 0.0.30.

Affected products

  • picklescan picklescan < 0.0.30

Identifiers

  • CVE-2025-71368
  • GHSA-fqq6-7vqf-w3fg

Timeline

  • 2025-08-26: advisory: Initial GitHub security advisory published
  • 2026-06-30: disclosed: CVE published to NVD

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.