CVE-2025-71365: picklescan - Arbitrary Code Execution via numpy.f2py.crackfortran.myeval Detection Bypass
picklescan before 0.0.33 fails to detect malicious pickle files that invoke numpy.f2py.crackfortran.myeval function through the reduce method. Attackers can craft malicious pickle files embedding arbitrary code that evades picklescan detection and executes remote code when loaded.
Security readout for executives and security teams
Plain-English summary
This issue affects picklescan, a tool used to inspect Python pickle files for unsafe behavior. Versions before 0.0.33 can miss a malicious pickle pattern that may execute code when the file is later loaded. The business risk is highest where untrusted model, data, or artifact files are accepted and then deserialized.
Executive priority
Prioritize remediation for teams handling external ML models, datasets, or customer-supplied artifacts. This is high risk because a missed malicious pickle can lead to code execution, but urgency depends on whether affected workflows load untrusted pickle files.
Technical view
CVE-2025-71365 is a CWE-502 deserialization detection bypass in picklescan before 0.0.33. Malicious pickle files can use numpy.f2py.crackfortran.myeval through reduce to evade detection, with code execution occurring when the pickle is loaded. CVSS is 8.1, requiring user interaction and network-delivered input.
Likely exposure
Exposure is likely in ML, data science, or artifact-scanning workflows that rely on picklescan before 0.0.33 and later load pickle files from untrusted or semi-trusted sources.
Exploitation context
The bundle does not show CISA KEV listing or active exploitation evidence. Exploitation requires a crafted pickle file and a victim workflow that trusts the scan result and loads the pickle.
Researcher notes
Evidence is limited to the supplied CVE, GitHub advisory, and VulnCheck references. The key issue is a specific callable path missed by picklescan detection. Do not assume broader numpy exposure unless picklescan-protected pickle loading is present.
Mitigation direction
Upgrade picklescan to 0.0.33 or later where used.
Review vendor advisory for any additional fixed-version guidance.
Avoid loading pickle files from untrusted sources.
Add controls around external model and dataset ingestion.
Treat pickle scanning as a gate, not a sole safety control.
Validation and detection
Inventory projects and pipelines using picklescan.
Confirm installed picklescan versions are not before 0.0.33.
Identify workflows that load pickle files after scanning.
Review ingestion paths for external models, datasets, and artifacts.
Check whether untrusted pickle files are blocked or quarantined.
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 · medium confidence lookup
CWE-502: Code execution behavior lookup
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. 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
0ADP providers
3Source links
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-502 · source CWE mapping
Deserialization of Untrusted Data
Deserialization of Untrusted Data represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.