CVE-2025-71351: picklescan - Remote Code Execution via timeit.timeit() Detection Bypass
picklescan before 0.0.25 fails to detect malicious pickle files that use timeit.timeit() in the __reduce__ method, allowing remote code execution. Attackers can craft pickle files that import dangerous libraries like os and execute arbitrary system commands, which evade picklescan detection and execute when pickle.load() is called.
Security readout for executives and security teams
Plain-English summary
CVE-2025-71351 is a detection bypass in picklescan. Malicious Python pickle files can hide dangerous behavior using timeit.timeit(), pass scanning, and execute code later when an application loads the pickle. The main business risk is misplaced trust in scanned machine-learning or data artifacts from untrusted sources.
Executive priority
Prioritize if your organization exchanges, scans, or loads pickle-based ML/data artifacts from outside trusted build pipelines. The issue can lead to code execution despite a security scan passing, so it weakens an existing control rather than only affecting unused software.
Technical view
picklescan before 0.0.25 fails to detect pickle payloads using timeit.timeit() inside __reduce__. The CVE describes possible import of dangerous libraries such as os and arbitrary command execution when pickle.load() runs. CVSS 4.0 is 7.6 high, with network attack vector, low complexity, no privileges, and user interaction required.
Likely exposure
Exposure is likely where teams use picklescan to approve pickle files from external, user-supplied, or shared artifact sources before deserialization. Systems that never load pickle files, or do not rely on picklescan decisions, are less exposed.
Exploitation context
No active exploitation is indicated in the provided sources, and the CVE is not listed as CISA KEV. Successful abuse requires a crafted pickle to be accepted and later loaded by pickle.load(), so workflow trust boundaries matter.
Researcher notes
The affected-version data in the supplied bundle is inconsistent, but the description states “before 0.0.25.” Treat the GHSA as the authoritative source for fixed-version confirmation. The weakness is classified as CWE-184, incomplete list of disallowed inputs.
Mitigation direction
Upgrade picklescan to 0.0.25 or later if vendor guidance confirms availability.
Avoid loading pickle files from untrusted or unauthenticated sources.
Do not treat a clean picklescan result as sole approval for deserialization.
Review vendor advisories for corrected versions and operational guidance.
Validation and detection
Inventory environments using picklescan and record installed versions.
Identify pipelines that scan and later load pickle artifacts.
Check whether untrusted users can submit pickle files or model artifacts.
Confirm deployed version behavior against the vendor advisory, not only package metadata.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-184: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
3Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-184 · source CWE mapping
Incomplete List of Disallowed Inputs
Incomplete List of Disallowed Inputs represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.