CVE-2020-13092
CRITICAL9.8EPSS 0.88%scikit-learn Deserialization of Untrusted Data
Published: 5/24/2022Modified: 4/28/2026
Also known as:DEBIAN-CVE-2020-13092
Description
scikit-learn (aka sklearn) through 0.23.0 can unserialize and execute commands from an untrusted file that is passed to the joblib.load() function, if __reduce__ makes an os.system call. NOTE: third parties dispute this issue because the joblib.load() function is documented as unsafe and it is the user's responsibility to use the function in a secure manner
Affected packages (3)
- Debian/scikit-learnfrom 0
- PyPI/scikit-learnfrom 0, <= 0.23.0
- PyPI/scikit-learnfrom 0, < 0.23.1
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | CRITICAL9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
References (6)
- ADVISORYhttps://nvd.nist.gov/vuln/detail/CVE-2020-13092
- ADVISORYhttps://security-tracker.debian.org/tracker/CVE-2020-13092
- PATCHhttps://github.com/scikit-learn/scikit-learn
- WEBhttps://github.com/0FuzzingQ/vuln/blob/master/sklearn%20unserialize.md
- WEBhttps://github.com/pypa/advisory-database/tree/main/vulns/scikit-learn/PYSEC-2020-107.yaml
- WEBhttps://scikit-learn.org/stable/modules/model_persistence.html#security-maintainability-limitations