CriticalVulnerability
CVE-2020-13092: scikit-learn unsafe deserialization via joblib.load of untrusted file
- Source
- NVD(opens in a new tab)
- Identifier
- CVE-2020-13092
- Published
- Record updated
- Affected
- scikit-learn <= 0.23.0
- Fixed in
- No fixed version was stated when the source was last read.
- Known exploitation
- Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
- EPSS
- 3.4%
Summary
scikit-learn (aka sklearn) through 0.23.0 can unserialize and execute commands from an untrusted file passed to joblib.load(), if __reduce__ makes an os.system call. Third parties dispute this issue, noting that joblib.load() is documented as unsafe and that using it securely is the user's responsibility. The weakness is classified as CWE-502, Deserialization of Untrusted Data.
Mitigation
The source does not state a fix yet. Check the original advisory for updates.
Affected packages in the Exposure Registry
Matched by package name and ecosystem. Each entry shows whether the package delegates to a language model and how many tracked packages depend on it.
- scikit-learnPyPINo LLM dependency detected · 74 tracked dependents
Related items
- MediumResearchers Uncover Prompt Adware Hidden in OpenAI Codex Jailbreak ToolkitSimilar attack · The Hacker News
- InfoTop agent skill security resources — November 2026Similar attack · Adversa AI Blog
- HighCVE-2026-118627: MLflow SHAP load_explainer untrusted deserialization enables code executionSimilar attack · NVD/CVE Database
- HighCVE-2026-118623: MLflow PickleEvaluationArtifact remote code execution via untrusted pickleSimilar attack · NVD/CVE Database
- HighCVE-2026-88968: Claude Code Edit tool symlink race overwrites files outside workspace on macOSSimilar attack · NVD/CVE Database