scikit-learnGHSA-jjw5-xxj6-pcv5
scikit-learn Deserialization of Untrusted Data
Critical9.8CVE-2020-13092 · Published May 24, 2022 · updated Oct 22, 2024
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| scikit-learn PyPI | <= 0.23.0 | No fix yet |
Details and references
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.
- CVSS 3.1
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-502
- Also known as
- CVE-2020-13092, PYSEC-2020-107
- nvd.nist.gov/vuln/detail/CVE-2020-13092
- github.com/0FuzzingQ/vuln/blob/master/sklearn%20unserialize.md
- github.com/pypa/advisory-database/tree/main/vulns/scikit-learn/PYSEC-2020-107.yaml
- github.com/scikit-learn/scikit-learn
- scikit-learn.org/stable/modules/model_persistence.html#security-maintainability-limitations
More scikit-learn advisories
All scikit-learn| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| May 242022 | scikit-learn Denial of Service CVE-2020-28975High7.5fixed in 1.0.1 | High7.5 | 1.0.1 |
| Jun 62024 | scikit-learn sensitive data leakage vulnerability CVE-2024-5206Medium5.3fixed in 1.5.0 | Medium5.3 | 1.5.0 |