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.
{
"github_reviewed": true,
"cwe_ids": [
"CWE-502"
],
"github_reviewed_at": "2024-04-22T22:55:41Z",
"nvd_published_at": "2020-05-15T19:15:00Z",
"severity": "CRITICAL"
}