CVE-2025-71320: picklescan - Remote Code Execution via Incomplete Disallowed Inputs
picklescan before 0.0.33 contains an incomplete deny-list that fails to block pydoc.locate and operator.methodcaller functions, allowing attackers to bypass security checks. Remote attackers can craft malicious pickle files using these unblocked functions to achieve arbitrary code execution when the pickle is deserialized.
Security readout for executives and security teams
Plain-English summary
CVE-2025-71320 is a critical flaw in picklescan before 0.0.33. The tool’s blocklist missed specific Python functions, so a malicious pickle file could pass checks and lead to code execution when deserialized. This matters most where organizations ingest external pickle or ML model artifacts.
Executive priority
Treat as urgent for ML, data science, and Python platforms that accept external artifacts. Prioritize dependency updates and ingestion controls. If picklescan is not present or untrusted pickle files are not processed, urgency is lower but inventory should be completed promptly.
Technical view
The issue is CWE-184: an incomplete deny-list. picklescan failed to block pydoc.locate and operator.methodcaller, allowing bypass of security checks. Sources describe remote attackers crafting malicious pickle files that can achieve arbitrary code execution when the pickle is deserialized. CVSS is 9.8, network exploitable, low complexity, no privileges or user interaction required.
Likely exposure
Exposure is likely in Python or ML workflows using picklescan before 0.0.33 to evaluate pickle files, especially from external users, partners, public repositories, or automated model supply chains. Systems that never process untrusted pickle files are less exposed, but should still inventory dependencies.
Exploitation context
The public bundle does not show CISA KEV listing or cited evidence of active exploitation. The risk is serious because malicious pickle content is a known dangerous format class, and this flaw weakens a tool intended to identify unsafe pickle behavior before deserialization.
Researcher notes
Evidence is limited to the CVE bundle, GHSA, and VulnCheck references. The bundle states picklescan before 0.0.33 is affected and identifies the missed functions. No exploit code, public exploitation confirmation, or broader affected-product list is provided in the supplied sources.
Mitigation direction
Upgrade picklescan to 0.0.33 or later where applicable.
Check the GitHub advisory for current vendor guidance.
Do not deserialize untrusted pickle files.
Restrict external pickle and model artifact ingestion.
Run scanning and deserialization in isolated, low-privilege environments.
Validation and detection
Inventory systems and pipelines using picklescan.
Confirm installed picklescan versions are 0.0.33 or later.
Review SBOMs and lockfiles for vulnerable versions.
Identify workflows processing external pickle or model files.
Verify controls prevent deserialization of untrusted pickle content.
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.
2CVSS vectors
3Timeline events
1ADP providers
3Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: yesTechnical Impact: total
CVSS vector scores
2 official scores
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.