CVE-2025-71352: picklescan - Remote Code Execution via Undetected trace.Trace.runctx in Pickle Files
picklescan before 0.0.29 fails to detect the built-in Python trace.Trace.runctx function when used in pickle file reduce methods, allowing attackers to execute arbitrary code. Remote attackers can craft malicious pickle files with trace.Trace.runctx payloads that bypass picklescan detection and execute code upon pickle.load() invocation.
Security readout for executives and security teams
Plain-English summary
This flaw affects picklescan, a tool used to inspect Python pickle files. Older versions can miss a dangerous built-in function inside a pickle, so a file marked as safe could still run attacker-controlled code when later loaded by Python.
Executive priority
Prioritize remediation where pickle files enter production, CI, or ML pipelines from outside trusted teams. The business risk is code execution through trusted automation rather than broad internet self-exploitation.
Technical view
picklescan before 0.0.29 does not detect trace.Trace.runctx when it appears in pickle reduce methods. A malicious pickle can bypass scanning and execute code during pickle.load(). The CVSS 8.1 score reflects network delivery, low complexity, no privileges, and required user interaction.
Likely exposure
Exposure is most likely in ML, data science, or artifact-processing workflows that accept pickle files from users, partners, model hubs, CI jobs, or automated ingestion and rely on picklescan before loading them.
Exploitation context
The provided sources do not show CISA KEV listing or active exploitation. Exploitation requires a victim workflow to scan and then load a malicious pickle file with pickle.load().
Researcher notes
The key bypass primitive named by the sources is trace.Trace.runctx inside pickle reduce methods. Evidence is limited to the advisory data provided; no public exploitation confirmation is included in the source bundle.
Mitigation direction
Upgrade picklescan to 0.0.29 or later.
Do not load pickle files from untrusted or unauthenticated sources.
Treat scanning as a detection aid, not a sandbox or trust guarantee.
Add provenance checks for model and dataset artifacts.
Check vendor advisories for any newer guidance.
Validation and detection
Inventory picklescan versions in lockfiles, containers, and CI images.
Find workflows that call pickle.load() after picklescan approval.
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-693: 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: noTechnical 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-693 · source CWE mapping
Protection Mechanism Failure
Protection Mechanism Failure represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.