scikit-learn Deserialization of Untrusted Data
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.
01
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2020-13092US | critical9.8 | — | ||
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… | ||||
02
references
External citations — patches, advisories, analysis.
- https://github.com/0FuzzingQ/vuln/blob/master/sklearn%20unserialize.mdWEB
- https://github.com/pypa/advisory-database/tree/main/vulns/scikit-learn/PYSEC-2020-107.yamlWEB
- https://github.com/scikit-learn/scikit-learnPACKAGE
- https://nvd.nist.gov/vuln/detail/CVE-2020-13092ADVISORY
- https://scikit-learn.org/stable/modules/model_persistence.html#security-maintainability-limitationsWEB
scry
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan