{"id":"CVE-2016-9952","aliases":["ALPINE-CVE-2016-9952","BELL-CVE-2016-9952","CURL-CVE-2016-9952","EUVD-2016-10739","GHSA-j357-mfhx-p456"],"status":"published","title":"The verify_certificate function in lib/vtls/schannel.c in libcurl 7.30.0 through 7.51.0, when...","description":"The verify_certificate function in lib/vtls/schannel.c in libcurl 7.30.0 through 7.51.0, when built for Windows CE using the schannel TLS backend, makes it easier for remote attackers to conduct man-in-the-middle attacks via a crafted wildcard SAN in a server certificate, as demonstrated by \"*.com.\"","severity":{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.01276,"percentile":0.70124,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-295"],"published":"2016-12-21T08:00:00Z","modified":"2026-10-25T01:04:56Z","fixes":[{"ecosystem":"Alpine:v3.2","package":"curl","fixed_in":["7.52.1-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.3","package":"curl","fixed_in":["7.52.1-r0"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.2","package":"curl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.30.0"},{"fixed":"7.52.1-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.3","package":"curl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.30.0"},{"fixed":"7.52.1-r0"}]}]}],"products":[{"vendor":"haxx","product":"curl"}],"references":[{"url":"https://curl.haxx.se/docs/adv_20161221B.html","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory"]},{"url":"https://curl.haxx.se/CVE-2016-9952.patch","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-9952"},{"url":"https://github.com/advisories/GHSA-j357-mfhx-p456"},{"url":"https://security.alpinelinux.org/vuln/CVE-2016-9952","tags":["advisory"]},{"url":"https://docs.bell-sw.com/security/cves/CVE-2016-9952","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2016-9952","description":"The verify_certificate function in lib/vtls/schannel.c in libcurl 7.30.0 through 7.51.0, when built for Windows CE using the schannel TLS backend, makes it easier for remote attackers to conduct man-in-the-middle attacks via a crafted wildcard SAN in a server certificate, as demonstrated by \"*.com.\"","status":"published","published":"2018-03-12T21:00:00Z","modified":"2024-08-07T19:19:13.575Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"adp"}],"cwes":["CWE-295"],"updated_at":"2026-11-02T14:33:31.764001Z"}],"euvd":[{"id":"EUVD-2016-10739","description":"The verify_certificate function in lib/vtls/schannel.c in libcurl 7.30.0 through 7.51.0, when built for Windows CE using the schannel TLS backend, makes it easier for remote attackers to conduct man-in-the-middle attacks via a crafted wildcard SAN in a server certificate, as demonstrated by \"*.com.\"","status":"published","published":"2018-03-12T21:00:00Z","modified":"2024-08-07T19:19:13Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-03T01:15:51.316983Z"}],"ghsa":[{"id":"GHSA-j357-mfhx-p456","title":"The verify_certificate function in lib/vtls/schannel.c in libcurl 7.30.0 through 7.51.0, when...","description":"The verify_certificate function in lib/vtls/schannel.c in libcurl 7.30.0 through 7.51.0, when built for Windows CE using the schannel TLS backend, makes it easier for remote attackers to conduct man-in-the-middle attacks via a crafted wildcard SAN in a server certificate, as demonstrated by \"*.com.\"","status":"published","published":"2022-05-14T03:32:30Z","modified":"2023-02-02T05:08:03Z","cvss":[{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-295"],"updated_at":"2026-11-02T14:52:39.182178Z"}],"nvd":[{"id":"CVE-2016-9952","description":"The verify_certificate function in lib/vtls/schannel.c in libcurl 7.30.0 through 7.51.0, when built for Windows CE using the schannel TLS backend, makes it easier for remote attackers to conduct man-in-the-middle attacks via a crafted wildcard SAN in a server certificate, as demonstrated by \"*.com.\"","status":"published","published":"2018-03-12T21:29:00.5Z","modified":"2026-06-17T00:56:49.51Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"},{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-295"],"updated_at":"2026-11-02T14:03:39.176887Z"}],"osv":[{"id":"ALPINE-CVE-2016-9952","description":"The verify_certificate function in lib/vtls/schannel.c in libcurl 7.30.0 through 7.51.0, when built for Windows CE using the schannel TLS backend, makes it easier for remote attackers to conduct man-in-the-middle attacks via a crafted wildcard SAN in a server certificate, as demonstrated by \"*.com.\"","status":"published","published":"2018-03-12T21:29:00.5Z","modified":"2026-09-22T06:17:50.256448727Z","cvss":[{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:27:46.716249Z"},{"id":"BELL-CVE-2016-9952","title":"CVE-2016-9952 does not affect BellSoft software","status":"withdrawn","published":"2018-03-12T21:29:00Z","modified":"2026-01-26T09:49:28.119461Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:28:14.137943Z"},{"id":"CVE-2016-9952","description":"The verify_certificate function in lib/vtls/schannel.c in libcurl 7.30.0 through 7.51.0, when built for Windows CE using the schannel TLS backend, makes it easier for remote attackers to conduct man-in-the-middle attacks via a crafted wildcard SAN in a server certificate, as demonstrated by \"*.com.\"","status":"published","published":"2018-03-12T21:29:00.5Z","modified":"2026-10-24T10:30:30.141249534Z","cvss":[{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:03.472693Z"},{"id":"CURL-CVE-2016-9952","title":"Win CE Schannel cert wildcard matches too much","description":"curl's TLS server certificate checks are flawed on Windows CE.\n\nThis vulnerability occurs in the verify certificate function when comparing a\nwildcard certificate name (as returned by the Windows API function\n`CertGetNameString)` to the hostname used to make the connection to the\nserver.\n\nThe vulnerability can be triggered with an overly permissive wildcard SAN in\nthe server certificate such as a DNS name of `*.com`. When the function\ncompares the cert name to the connection hostname, the wildcard character is\nremoved from the cert name and the connection hostname is checked to see if it\nends with the modified cert name. This means a hostname of example.com would\nmatch a DNS SAN of `*.com`, among other variations. This approach violates\nrecommendations in RFC 6125 and could lead to MITM attacks.","status":"published","published":"2016-12-21T08:00:00Z","modified":"2026-10-25T01:04:56.008876362Z","updated_at":"2026-11-02T15:43:55.669514Z"}]}}
