{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-9545","assignerOrgId":"2499f714-1537-4658-8207-48ae4bb9eae9","state":"PUBLISHED","assignerShortName":"curl","dateReserved":"2026-05-26T06:45:08.680Z","datePublished":"2026-07-03T06:17:55.931Z","dateUpdated":"2026-09-15T06:03:31.804Z"},"containers":{"cna":{"providerMetadata":{"orgId":"2499f714-1537-4658-8207-48ae4bb9eae9","shortName":"curl","dateUpdated":"2026-09-15T06:03:31.804Z"},"title":"exposing HTTP/3 early data","descriptions":[{"lang":"en","value":"In this scenario, libcurl first uses a proper HTTP/3 server for the initial\ntransfers, and when it makes a second transfer to the same site it has been\nreplaced by the attacker's impostor machine - without a valid certificate.\n\nWhen libcurl returns to the hostname the second time with a cached SSL session\n(`CURLOPT_SSL_SESSIONID_CACHE` is not disabled) and early data enabled (the\n`CURLSSLOPT_EARLYDATA` bit is set in `CURLOPT_SSL_OPTIONS`), libcurl might\nsend off the second request's bytes on that new connection *before* enforcing\nthe certificate verification failure. Potentially leaking sensitive\ninformation."}],"affected":[{"vendor":"curl","product":"curl","versions":[{"version":"8.11.0","status":"affected","versionType":"semver","lessThan":"8.14.2"},{"version":"8.15.0","status":"affected","versionType":"semver","lessThan":"8.16.1"},{"version":"8.17.0","status":"affected","versionType":"semver","lessThan":"8.20.1"}],"defaultStatus":"unaffected"},{"vendor":"curl","product":"curl","versions":[{"version":"962097b8dd44ed5b9e7984bc1cdffdbdd566857f","status":"affected","versionType":"git","lessThan":"7b9613fa9b1a5e04301a3920eef58e8138dad05e"}],"defaultStatus":"unaffected","repo":"https://github.com/curl/curl.git"},{"vendor":"curl","product":"curl","versions":[{"version":"8.20.0","status":"affected"},{"version":"8.19.0","status":"affected"},{"version":"8.18.0","status":"affected"},{"version":"8.17.0","status":"affected"},{"version":"8.16.0","status":"affected"},{"version":"8.15.0","status":"affected"},{"version":"8.14.1","status":"affected"},{"version":"8.14.0","status":"affected"},{"version":"8.13.0","status":"affected"},{"version":"8.12.1","status":"affected"},{"version":"8.12.0","status":"affected"},{"version":"8.11.1","status":"affected"},{"version":"8.11.0","status":"affected"}],"defaultStatus":"unaffected"}],"references":[{"url":"https://curl.se/docs/CVE-2026-9545.json"},{"url":"https://curl.se/docs/CVE-2026-9545.html"},{"url":"https://hackerone.com/reports/3752888"}],"x_osv":{"schema_version":"1.5.0","id":"CURL-CVE-2026-9545","aliases":["CVE-2026-9545"],"summary":"exposing HTTP/3 early data","modified":"2026-09-07T10:34:51.00Z","database_specific":{"package":"curl","affects":"both","URL":"https://curl.se/docs/CVE-2026-9545.json","www":"https://curl.se/docs/CVE-2026-9545.html","issue":"https://hackerone.com/reports/3752888","CWE":{"id":"CWE-200","desc":"Exposure of Sensitive Information to an Unauthorized Actor"},"last_affected":"8.20.0","severity":"Low"},"published":"2026-06-24T08:00:00.00Z","affected":[{"ranges":[{"type":"SEMVER","events":[{"introduced":"8.11.0"},{"fixed":"8.14.2"},{"introduced":"8.15.0"},{"fixed":"8.16.1"},{"introduced":"8.17.0"},{"fixed":"8.20.1"}]},{"type":"GIT","repo":"https://github.com/curl/curl.git","events":[{"introduced":"962097b8dd44ed5b9e7984bc1cdffdbdd566857f"},{"fixed":"7b9613fa9b1a5e04301a3920eef58e8138dad05e"}]}],"versions":["8.20.0","8.19.0","8.18.0","8.17.0","8.16.0","8.15.0","8.14.1","8.14.0","8.13.0","8.12.1","8.12.0","8.11.1","8.11.0"]}],"credits":[{"name":"Eunsoo Kim (Autonomous Code Security team at Microsoft)","type":"finder"},{"name":"Stefan Eissing","type":"remediation developer"}],"details":"In this scenario, libcurl first uses a proper HTTP/3 server for the initial\ntransfers, and when it makes a second transfer to the same site it has been\nreplaced by the attacker's impostor machine - without a valid certificate.\n\nWhen libcurl returns to the hostname the second time with a cached SSL session\n(`CURLOPT_SSL_SESSIONID_CACHE` is not disabled) and early data enabled (the\n`CURLSSLOPT_EARLYDATA` bit is set in `CURLOPT_SSL_OPTIONS`), libcurl might\nsend off the second request's bytes on that new connection *before* enforcing\nthe certificate verification failure. Potentially leaking sensitive\ninformation."},"problemTypes":[{"descriptions":[{"lang":"en","description":"Exposure of Sensitive Information to an Unauthorized Actor","cweId":"CWE-200","type":"CWE"}]}],"credits":[{"lang":"en","value":"Eunsoo Kim (Autonomous Code Security team at Microsoft)","type":"finder"},{"lang":"en","value":"Stefan Eissing","type":"remediation developer"}],"x_generator":{"engine":"cvelib 1.8.0"}},"adp":[{"references":[{"url":"https://hackerone.com/reports/3752888","tags":["exploit"]}],"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.5,"attackVector":"NETWORK","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","integrityImpact":"NONE","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"timestamp":"2026-07-06T16:52:42.898546Z","id":"CVE-2026-9545","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-07-06T16:53:23.396Z"}}]}}