PYSEC-2020-107
Dashboard / Vulnerabilities / PYSEC-2020-107
PYSEC-2020-107
Published: 15 May 2020Last Modified: 10 Jun 2026
Aliases:
Summary:
Details: ** DISPUTED ** 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.
References: https://github.com/0FuzzingQ/vuln/blob/master/sklearn%20unserialize.md, https://scikit-learn.org/stable/modules/model_persistence.html#security-maintainability-limitations, https://github.com/advisories/GHSA-jjw5-xxj6-pcv5
Affected packages
Package
Name: scikit-learn
Purl: pkg:pypi/scikit-learn
Affected ranges
Type: ECOSYSTEM
Events:
Introduced- 0
Fixed -0.23.1
Affected versions
0.10
Common Vulnerability Scoring System
Attack Vector
Network
Adjacent
Local
Physical
Privileges Required
None
Low
High
User Interaction
None
Required
Scope
Unchanged
Changed
Confidentiality
None
Low
High
Integrity
None
Low
High
Availability
None
Low
High
