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 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 2.0HIGH 7.5
CVSS:2.0/AV:N/AC:L/Au:N/C:P/I:P/A:PCVSS 3.xCRITICAL 9.8
CVSS:3.x/CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HReferences
- 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/0FuzzingQ/vuln/blob/master/sklearn%20unserialize.md
- https://scikit-learn.org/stable/modules/model_persistence.html#security-maintainability-limitations