CVE-2025-1716
Mmaitre314 Picklescan ≤ 0.0.22
Raw vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XSummary
CVE-2025-1716 is a medium-severity Incomplete List of Disallowed Inputs (CWE-184) vulnerability in Mmaitre314 Picklescan. Its CVSS base score is 5.3 (Medium).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 25% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
picklescan versions prior to 0.0.21 contain a flaw in which the scanner does not classify the 'pip' module as an unsafe global when inspecting pickled Python objects. The affected component is the picklescan library itself, which is used to detect dangerous constructs in serialized machine-learning models before they are loaded.
An attacker can therefore craft a malicious pickled model that invokes pip.main() to fetch and install an arbitrary package from PyPI or a GitHub-hosted repository. Because the call is not flagged, the model passes the scan and can later execute the attacker-supplied package when deserialized, achieving unauthorized code execution or environment tampering with no user interaction beyond loading the model.
The GitHub advisory GHSA-655q-fx9r-782v and the referenced commit 78ce704227c51f070c0c5fb4b466d92c62a7aa3d correct the issue by adding 'pip' to the set of restricted globals; Sonatype has mirrored the same remediation guidance for CVE-2025-1716.
The associated EPSS score has remained flat at 0.1625 since disclosure, indicating no measurable rise in observed exploitation interest, though the vulnerability is directly relevant to machine-learning pipelines that depend on pickle-based model serialization.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2025-5323
Vulnerability Data
picklescan before 0.0.21 does not treat 'pip' as an unsafe global. An attacker could craft a malicious model that uses Pickle to pull in a malicious PyPI package (hosted, for example, on pypi.org or GitHub) via `pip.main()`. Because pip is…
more
not a restricted global, the model, when scanned with picklescan, would pass security checks and appear to be safe, when it could instead prove to be problematic.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
- 2 hardening rules · 1 OS baseline
V3.5.2V4.4.2V16.2.5
Mitigating Controls (NIST 800-53 r5) AI
SI-10 requires validity checks on inputs, which structurally replaces incomplete deny-lists with complete allow-list or sanitization logic.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC practices directly require complete, positive input validation instead of incomplete denylists.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing can discover missing input checks, but does not prevent the weakness during development.
Application security requirements can mandate complete input validation rules, but the control itself does not prescribe how to build those rules.
Secure architecture principles include robust input validation design, yet the control is broader than this single weakness.
Secure coding standards directly require exhaustive allow-lists or complete deny-lists for inputs, addressing the root cause of incomplete disallowed-input lists.