{"api_version":"1","generated_at":"2026-09-07T09:11:20+00:00","cve":"CVE-2026-82208","urls":{"html":"https://cve.report/CVE-2026-82208","api":"https://cve.report/api/cve/CVE-2026-82208.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-82208","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-82208"},"summary":{"title":"wolfSSL CA-cache hit overrides callback","description":"With the wolfSSL backend, when CA caching is enabled and an\n`CURLOPT_SSL_CTX_FUNCTION` callback replaces the trust store, libcurl can\nsilently reinstall the cached store after the callback returns. A certificate\ntrusted by the cached store but rejected by the callback-selected store is\nthen incorrectly accepted.","state":"PUBLISHED","assigner":"curl","published_at":"2026-09-06 18:17:22","updated_at":"2026-09-06 18:17:22"},"problem_types":["CWE-295 Improper Certificate Validation"],"metrics":[],"references":[{"url":"https://curl.se/docs/CVE-2026-82208.json","name":"https://curl.se/docs/CVE-2026-82208.json","refsource":"2499f714-1537-4658-8207-48ae4bb9eae9","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://curl.se/docs/CVE-2026-82208.html","name":"https://curl.se/docs/CVE-2026-82208.html","refsource":"2499f714-1537-4658-8207-48ae4bb9eae9","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://hackerone.com/reports/3973090","name":"https://hackerone.com/reports/3973090","refsource":"2499f714-1537-4658-8207-48ae4bb9eae9","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-82208","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-82208","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.21.0 8.21.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.20.0 8.20.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.19.0 8.19.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.18.0 8.18.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.17.0 8.17.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.16.0 8.16.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.15.0 8.15.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.14.1 8.14.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.14.0 8.14.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.13.0 8.13.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.12.1 8.12.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.12.0 8.12.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.11.1 8.11.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.11.0 8.11.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.10.1 8.10.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.10.0 8.10.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.9.1 8.9.1 semver","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Stanislav Fort (Aisle Research)","lang":"en"},{"source":"CNA","value":"Stefan Eissing","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"curl","vendor":"curl","versions":[{"lessThanOrEqual":"8.21.0","status":"affected","version":"8.21.0","versionType":"semver"},{"lessThanOrEqual":"8.20.0","status":"affected","version":"8.20.0","versionType":"semver"},{"lessThanOrEqual":"8.19.0","status":"affected","version":"8.19.0","versionType":"semver"},{"lessThanOrEqual":"8.18.0","status":"affected","version":"8.18.0","versionType":"semver"},{"lessThanOrEqual":"8.17.0","status":"affected","version":"8.17.0","versionType":"semver"},{"lessThanOrEqual":"8.16.0","status":"affected","version":"8.16.0","versionType":"semver"},{"lessThanOrEqual":"8.15.0","status":"affected","version":"8.15.0","versionType":"semver"},{"lessThanOrEqual":"8.14.1","status":"affected","version":"8.14.1","versionType":"semver"},{"lessThanOrEqual":"8.14.0","status":"affected","version":"8.14.0","versionType":"semver"},{"lessThanOrEqual":"8.13.0","status":"affected","version":"8.13.0","versionType":"semver"},{"lessThanOrEqual":"8.12.1","status":"affected","version":"8.12.1","versionType":"semver"},{"lessThanOrEqual":"8.12.0","status":"affected","version":"8.12.0","versionType":"semver"},{"lessThanOrEqual":"8.11.1","status":"affected","version":"8.11.1","versionType":"semver"},{"lessThanOrEqual":"8.11.0","status":"affected","version":"8.11.0","versionType":"semver"},{"lessThanOrEqual":"8.10.1","status":"affected","version":"8.10.1","versionType":"semver"},{"lessThanOrEqual":"8.10.0","status":"affected","version":"8.10.0","versionType":"semver"},{"lessThanOrEqual":"8.9.1","status":"affected","version":"8.9.1","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"Stanislav Fort (Aisle Research)"},{"lang":"en","type":"remediation developer","value":"Stefan Eissing"}],"descriptions":[{"lang":"en","value":"With the wolfSSL backend, when CA caching is enabled and an\n`CURLOPT_SSL_CTX_FUNCTION` callback replaces the trust store, libcurl can\nsilently reinstall the cached store after the callback returns. A certificate\ntrusted by the cached store but rejected by the callback-selected store is\nthen incorrectly accepted."}],"problemTypes":[{"descriptions":[{"description":"CWE-295 Improper Certificate Validation","lang":"en"}]}],"providerMetadata":{"dateUpdated":"2026-09-06T17:49:16.014Z","orgId":"2499f714-1537-4658-8207-48ae4bb9eae9","shortName":"curl"},"references":[{"name":"json","url":"https://curl.se/docs/CVE-2026-82208.json"},{"name":"www","url":"https://curl.se/docs/CVE-2026-82208.html"},{"name":"issue","url":"https://hackerone.com/reports/3973090"}],"title":"wolfSSL CA-cache hit overrides callback"}},"cveMetadata":{"assignerOrgId":"2499f714-1537-4658-8207-48ae4bb9eae9","assignerShortName":"curl","cveId":"CVE-2026-82208","datePublished":"2026-09-06T17:49:16.014Z","dateReserved":"2026-08-28T08:25:31.400Z","dateUpdated":"2026-09-06T17:49:16.014Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-06 18:17:22","lastModifiedDate":"2026-09-06 18:17:22","problem_types":["CWE-295 Improper Certificate Validation"],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"82208","Ordinal":"1","Title":"wolfSSL CA-cache hit overrides callback","CVE":"CVE-2026-82208","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"82208","Ordinal":"1","NoteData":"With the wolfSSL backend, when CA caching is enabled and an\n`CURLOPT_SSL_CTX_FUNCTION` callback replaces the trust store, libcurl can\nsilently reinstall the cached store after the callback returns. A certificate\ntrusted by the cached store but rejected by the callback-selected store is\nthen incorrectly accepted.","Type":"Description","Title":"wolfSSL CA-cache hit overrides callback"}]}}}