CVE-2025-71376: picklescan detection bypass via idlelib fetch_completions

CVE-2025-71376 · Severity: high · CVSS 8.1 · Published 2026-06-23

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

Technologies: picklescan (PyPI). Vendors: PyPI.

Quick answers

Is CVE-2025-71376 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2025-71376 being exploited in the wild.
How severe is CVE-2025-71376?
High severity, with a CVSS score of 8.1, published 23 June 2026.
Which products and versions are affected?
picklescan (PyPI) < 0.0.29, ECOSYSTEM:introduced=0,fixed=0.0.29.
Is there a fix for CVE-2025-71376?
Yes. picklescan (PyPI): upgrade to 0.0.29 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2025-71376 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2025-71376?
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.29 or later
    pip install "picklescan>=0.0.29"

Technical details

A deserialization bypass exists in picklescan before version 0.0.29. The scanner's logic fails to identify the 'idlelib.autocomplete.AutoComplete.fetch_completions' function as dangerous when used within a pickle's __reduce__ method. An attacker can craft a malicious pickle file that, when scanned, appears safe but executes arbitrary system commands via the 'os.system' or similar calls when subsequently loaded using 'pickle.load()'. This vulnerability is categorized as CWE-502 (Deserialization of Untrusted Data). Users are advised to upgrade to version 0.0.29 or later to ensure these payloads are correctly flagged.

Affected products

  • mmaitre314 picklescan < 0.0.29

Identifiers

  • CVE-2025-71376
  • GHSA-7cq8-mj8x-j263
  • PYSEC-2026-4133

Timeline

  • 2025-08-26: advisory: GitHub Security Advisory GHSA-7cq8-mj8x-j263 published
  • 2026-06-23: disclosed: CVE-2025-71376 published to NVD

References

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