{"id":"CVE-2020-28975","aliases":["EUVD-2020-0180","GHSA-jxfp-4rvq-9h9m","PYSEC-2020-108","openSUSE-SU-2024:11805-1","openSUSE-SU-2025:14729-1"],"status":"disputed","title":"scikit-learn Denial of Service","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.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-10","score":0.03568,"percentile":0.89453,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"published":"2020-11-21T00:00:00Z","modified":"2026-10-20T10:53:12Z","fixes":[{"ecosystem":"PyPI","package":"scikit-learn","fixed_in":["1.0.1","0.24.dev0"],"sources":["ghsa","osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"python-scikit-learn","fixed_in":["1.6.1-1.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"scikit-learn","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.23.2"},{"fixed":"1.0.1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"scikit-learn","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.23.2"},{"fixed":"1.0.1"}]}],"versions":["0.23.2","0.24.0","0.24.1","0.24.2","1.0"]},{"source":"osv","ecosystem":"PyPI","package":"scikit-learn","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.24.dev0"}]}],"versions":["0.10","0.11","0.12","0.12.1","0.13","0.13.1","0.14","0.14.1","0.14a1","0.15.0","0.15.0b1","0.15.0b2","0.15.1","0.15.2","0.16.0","0.16.1","0.16b1","0.17","0.17.1","0.17b1","0.18","0.18.1","0.18.2","0.18rc2","0.19.0","0.19.1","0.19.2","0.19b2","0.20.0","0.20.1","0.20.2","0.20.3","0.20.4","0.20rc1","0.21.0","0.21.1","0.21.2","0.21.3","0.21rc2","0.22","0.22.1","0.22.2","0.22.2.post1","0.22rc2.post1","0.22rc3","0.23.0","0.23.0rc1","0.23.1","0.23.2","0.9"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"python-scikit-learn","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.6.1-1.1"}]}]}],"products":[{"vendor":"scikit-learn","product":"scikit-learn"}],"references":[{"url":"https://github.com/scikit-learn/scikit-learn/issues/18891","tags":["x_transferred","Exploit","Issue Tracking","Third Party Advisory","report","web"]},{"url":"https://github.com/cjlin1/libsvm/blob/9a3a9708926dec87d382c43b203f2ca19c2d56a0/svm.cpp#L2501","tags":["x_transferred","Exploit","Third Party Advisory","evidence","web"]},{"url":"http://seclists.org/fulldisclosure/2020/Nov/44","tags":["mailing-list","x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"http://packetstormsecurity.com/files/160281/SciKit-Learn-0.23.2-Denial-Of-Service.html","tags":["x_transferred","Exploit","Third Party Advisory","VDB Entry","evidence","web"]},{"url":"https://github.com/scikit-learn/scikit-learn/commit/1bf13d567d3cd74854aa8343fd25b61dd768bb85","tags":["x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://security.gentoo.org/glsa/202301-03","tags":["vendor-advisory","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-28975","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/scikit-learn/PYSEC-2020-108.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-jxfp-4rvq-9h9m","tags":["advisory"]},{"url":"https://github.com/scikit-learn/scikit-learn","tags":["package"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2020-28975","tags":["web"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/EJHTWDQGPZRAHRN7GOYHIRXAHVB7F7G3/","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2020-28975","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.","status":"disputed","published":"2020-11-21T00:00:00Z","modified":"2024-08-04T16:48:01.573Z","updated_at":"2026-11-02T14:35:57.017407Z"}],"euvd":[{"id":"EUVD-2020-0180","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.","status":"published","published":"2020-11-21T00:00:00Z","modified":"2024-08-04T16:48:01Z","updated_at":"2026-11-03T03:07:08.475588Z"}],"ghsa":[{"id":"GHSA-jxfp-4rvq-9h9m","title":"scikit-learn Denial of Service","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.\nNOTE: 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.","status":"published","published":"2022-05-24T17:34:40Z","modified":"2024-10-23T18:41:35Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T14:38:13.09489Z"}],"nvd":[{"id":"CVE-2020-28975","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.","status":"disputed","published":"2020-11-21T21:15:10.68Z","modified":"2026-06-17T03:10:56.217Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"updated_at":"2026-11-02T14:06:25.394006Z"}],"osv":[{"id":"CVE-2020-28975","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.","status":"published","published":"2020-11-21T21:15:10.68Z","modified":"2026-10-20T10:53:12.731115213Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:16.612899Z"},{"id":"GHSA-jxfp-4rvq-9h9m","title":"scikit-learn Denial of Service","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.\nNOTE: 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.","status":"published","published":"2022-05-24T17:34:40Z","modified":"2024-12-03T06:16:59.181481Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:46:51.10002Z"},{"id":"openSUSE-SU-2024:11805-1","title":"python310-scikit-learn-1.0.2-1.1 on GA media","description":"These are all security issues fixed in the python310-scikit-learn-1.0.2-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T03:51:38.593051Z","updated_at":"2026-11-02T16:58:35.195147Z"},{"id":"openSUSE-SU-2025:14729-1","title":"python311-scikit-learn-1.6.1-1.1 on GA media","description":"These are all security issues fixed in the python311-scikit-learn-1.6.1-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2025-02-04T00:00:00Z","modified":"2026-02-04T04:25:25.576895Z","updated_at":"2026-11-02T16:58:36.976155Z"},{"id":"PYSEC-2020-108","description":"** DISPUTED ** 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.","status":"published","published":"2020-11-21T21:15:00Z","modified":"2026-06-10T17:02:41.379397513Z","updated_at":"2026-11-02T15:52:52.192131Z"}]}}
