CVE-2020-28975: scikit-learn Denial of Service
Summary
CVE-2020-28975: scikit-learn Denial of Service. Affects scikit-learn versions >= 0.23.2, < 1.0.1. Fixed in 1.0.1. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
scikit-learn is a popular Python library used for machine learning tasks. It provides various algorithms and tools for data analysis and modeling. The vulnerability in question affects version 0.23.2 of scikit-learn. This vulnerability allows attackers to cause a denial of service (segmentation fault) by exploiting a flaw in the svm_predict_values function in the Libsvm library. The vulnerability can be triggered by a crafted model SVM with a large value in the _n_support array. It is important to note that this behavior can only occur if the library's API is violated by an application that changes a private attribute.
Vulnerability Detail
The vulnerability arises from a flaw in the svm_predict_values function in the Libsvm library, which is used by scikit-learn. By providing a crafted model SVM with a large value in the _n_support array, an attacker can trigger a segmentation fault, leading to a denial of service. This vulnerability can be introduced through various model permanence standards, such as pickle or json. The impact of this vulnerability is a complete disruption of the affected application, rendering it unavailable. The severity of this vulnerability is rated as HIGH with a CVSS score of 7.5.
How To Fix
Latest published version: 1.9.1 as of 23 Oct 2026
pip install --upgrade "scikit-learn==1.9.1"
Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.
If you need the minimum change
1.0.1
This is the first release that contains the fix.
pip install --upgrade "scikit-learn==1.0.1"
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
There is no known workaround for this vulnerability. It is essential to update to the fixed version of scikit-learn to mitigate the risk.
Conclusion
In conclusion, the CVE-2020-28975 vulnerability in scikit-learn allows attackers to cause a denial of service by exploiting a flaw in the svm_predict_values function. To mitigate this risk, it is crucial to update to version 1.0.1 or later of scikit-learn. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for scikit-learn →
FAQ
scikit-learn is a Python library used for machine learning tasks, providing various algorithms and tools for data analysis and modeling.
The vulnerability allows attackers to cause a denial of service by exploiting a flaw in the svm_predict_values function, leading to a segmentation fault and rendering the affected application unavailable.
To fix this vulnerability, it is recommended to upgrade to version 1.0.1 or later of scikit-learn, which includes a fix for the vulnerability.
There is no known workaround for this vulnerability. Updating to the fixed version is the recommended solution.
The severity of this vulnerability is rated as HIGH with a CVSS score of 7.5.
References
Related vulnerabilities
Recent vulnerabilities recorded for scikit-learn.