CVE-2020-28975:
scikit-learn Denial of Service
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.38697%
CWE
-
Published
5/24/2022
Updated
10/23/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
scikit-learn | pip | >= 0.23.2, < 1.0.1 | 1.0.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from Libsvm's svm_predict_values in svm.cpp, which crashes when _n_support contains invalid values. However, scikit-learn's SVC/SVR predict method (via _validate_for_predict) was responsible for validating model integrity before invoking Libsvm. The absence of checks for _n_support consistency in scikit-learn's pre-patch code allowed crafted models to reach Libsvm's vulnerable function. The fix added validation in _validate_for_predict, confirming these as the critical points.