What’s Vulnerable › Vulnerabilities
CVE-2020-28975
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 3.5% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2020-11-21 · updated 2026-06-17
Description
svm_predict_values in svm.cpp in Libsvm v324, as used in scikit-learn 0.23.2 and other products, allows attackers to cause a denial of service (segmentation fault) via a crafted model SVM (introduced via pickle, json, or any other model permanence standard) with a large value in the _n_support array. NOTE: the scikit-learn vendor's position is that the behavior can only occur if the library's API is violated by an application that changes a private attribute.
Affected products
- scikit-learn/scikit-learn: from 0.23.2 before 1.0.1 — fixed in 1.0.1
How to fix
Upgrade to a fixed version: scikit-learn/scikit-learn 1.0.1. Check the vendor advisory for mitigations.
References
- http://packetstormsecurity.com/files/160281/SciKit-Learn-0.23.2-Denial-Of-Service.html
- http://seclists.org/fulldisclosure/2020/Nov/44
- https://github.com/cjlin1/libsvm/blob/9a3a9708926dec87d382c43b203f2ca19c2d56a0/svm.cpp#L2501
- https://github.com/scikit-learn/scikit-learn/commit/1bf13d567d3cd74854aa8343fd25b61dd768bb85
- https://github.com/scikit-learn/scikit-learn/issues/18891
- https://security.gentoo.org/glsa/202301-03
- http://packetstormsecurity.com/files/160281/SciKit-Learn-0.23.2-Denial-Of-Service.html
- http://seclists.org/fulldisclosure/2020/Nov/44
- https://github.com/cjlin1/libsvm/blob/9a3a9708926dec87d382c43b203f2ca19c2d56a0/svm.cpp#L2501
- https://github.com/scikit-learn/scikit-learn/commit/1bf13d567d3cd74854aa8343fd25b61dd768bb85
- https://github.com/scikit-learn/scikit-learn/issues/18891
- https://security.gentoo.org/glsa/202301-03
Get alerted when CVE-2020-28975 or the next vulnerability affects your stack