scikit-learn Deserialization of Untrusted Data
Critical severity
GitHub Reviewed
Published
May 24, 2022
to the GitHub Advisory Database
•
Updated Oct 22, 2024
Description
Published by the National Vulnerability Database
May 15, 2020
Published to the GitHub Advisory Database
May 24, 2022
Reviewed
Apr 22, 2024
Last updated
Oct 22, 2024
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 anos.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.
References