{"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.","aliases":["CVE-2020-13092","GHSA-jjw5-xxj6-pcv5"],"modified":"2024-04-22T23:11:39.865448Z","published":"2020-05-15T19:15:00Z","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"}],"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"],"database_specific":{"source":"https://github.com/pypa/advisory-database/blob/main/vulns/scikit-learn/PYSEC-2020-107.yaml"}}],"schema_version":"1.7.3"}