id: PYSEC-2020-107 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.' affected: - package: name: scikit-learn ecosystem: PyPI purl: pkg:pypi/scikit-learn ranges: - type: ECOSYSTEM events: - introduced: "0" - fixed: 0.23.1 versions: - "0.9" - "0.10" - "0.11" - "0.12" - 0.12.1 - "0.13" - 0.13.1 - 0.14a1 - "0.14" - 0.14.1 - 0.15.0b1 - 0.15.0b2 - 0.15.0 - 0.15.1 - 0.15.2 - 0.16b1 - 0.16.0 - 0.16.1 - 0.17b1 - "0.17" - 0.17.1 - 0.18rc2 - "0.18" - 0.18.1 - 0.18.2 - 0.19b2 - 0.19.0 - 0.19.1 - 0.19.2 - 0.20rc1 - 0.20.0 - 0.20.1 - 0.20.2 - 0.20.3 - 0.20.4 - 0.21rc2 - 0.21.0 - 0.21.1 - 0.21.2 - 0.21.3 - 0.22rc2.post1 - 0.22rc3 - "0.22" - 0.22.1 - 0.22.2 - 0.22.2.post1 - 0.23.0rc1 - 0.23.0 references: - type: WEB url: https://github.com/0FuzzingQ/vuln/blob/master/sklearn%20unserialize.md - type: WEB url: https://scikit-learn.org/stable/modules/model_persistence.html#security-maintainability-limitations - type: ADVISORY url: https://github.com/advisories/GHSA-jjw5-xxj6-pcv5 aliases: - CVE-2020-13092 - GHSA-jjw5-xxj6-pcv5 modified: "2020-05-19T19:05:00Z" published: "2020-05-15T19:15:00Z"