{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-87866","assignerOrgId":"2499f714-1537-4658-8207-48ae4bb9eae9","state":"PUBLISHED","assignerShortName":"curl","dateReserved":"2026-09-09T13:17:42.764Z","datePublished":"2026-10-20T20:16:30.866Z","dateUpdated":"2026-10-29T18:59:00.981Z"},"containers":{"cna":{"title":"wolfSSL public-key pinning bypass","descriptions":[{"lang":"en","value":"When built with wolfSSL, curl can successfully validate a pinned public key\nhash against a key the TLS peer does not possess. During the TLS handshake,\nwolfSSL validates the connection, but curl's subsequent re-parsing of the same\ncertificate - tricked by a manipulated validity length field - extracts and\nmatches a different embedded key, incorrectly authorizing the pinned public\nkey."}],"providerMetadata":{"orgId":"2499f714-1537-4658-8207-48ae4bb9eae9","shortName":"curl","dateUpdated":"2026-10-20T20:16:30.866Z"},"problemTypes":[{"descriptions":[{"lang":"en","description":"CWE-295 Improper Certificate Validation"}]}],"affected":[{"vendor":"curl","product":"curl","versions":[{"version":"8.22.0","status":"affected","lessThanOrEqual":"8.22.0","versionType":"semver"},{"version":"8.21.0","status":"affected","lessThanOrEqual":"8.21.0","versionType":"semver"},{"version":"8.20.0","status":"affected","lessThanOrEqual":"8.20.0","versionType":"semver"},{"version":"8.19.0","status":"affected","lessThanOrEqual":"8.19.0","versionType":"semver"},{"version":"8.18.0","status":"affected","lessThanOrEqual":"8.18.0","versionType":"semver"},{"version":"8.17.0","status":"affected","lessThanOrEqual":"8.17.0","versionType":"semver"},{"version":"8.16.0","status":"affected","lessThanOrEqual":"8.16.0","versionType":"semver"},{"version":"8.15.0","status":"affected","lessThanOrEqual":"8.15.0","versionType":"semver"},{"version":"8.14.1","status":"affected","lessThanOrEqual":"8.14.1","versionType":"semver"},{"version":"8.14.0","status":"affected","lessThanOrEqual":"8.14.0","versionType":"semver"},{"version":"8.13.0","status":"affected","lessThanOrEqual":"8.13.0","versionType":"semver"},{"version":"8.12.1","status":"affected","lessThanOrEqual":"8.12.1","versionType":"semver"},{"version":"8.12.0","status":"affected","lessThanOrEqual":"8.12.0","versionType":"semver"},{"version":"8.11.1","status":"affected","lessThanOrEqual":"8.11.1","versionType":"semver"},{"version":"8.11.0","status":"affected","lessThanOrEqual":"8.11.0","versionType":"semver"},{"version":"8.10.1","status":"affected","lessThanOrEqual":"8.10.1","versionType":"semver"},{"version":"8.10.0","status":"affected","lessThanOrEqual":"8.10.0","versionType":"semver"},{"version":"8.9.1","status":"affected","lessThanOrEqual":"8.9.1","versionType":"semver"},{"version":"8.9.0","status":"affected","lessThanOrEqual":"8.9.0","versionType":"semver"},{"version":"8.8.0","status":"affected","lessThanOrEqual":"8.8.0","versionType":"semver"},{"version":"8.7.1","status":"affected","lessThanOrEqual":"8.7.1","versionType":"semver"},{"version":"8.7.0","status":"affected","lessThanOrEqual":"8.7.0","versionType":"semver"},{"version":"8.6.0","status":"affected","lessThanOrEqual":"8.6.0","versionType":"semver"},{"version":"8.5.0","status":"affected","lessThanOrEqual":"8.5.0","versionType":"semver"},{"version":"8.4.0","status":"affected","lessThanOrEqual":"8.4.0","versionType":"semver"},{"version":"8.3.0","status":"affected","lessThanOrEqual":"8.3.0","versionType":"semver"},{"version":"8.2.1","status":"affected","lessThanOrEqual":"8.2.1","versionType":"semver"},{"version":"8.2.0","status":"affected","lessThanOrEqual":"8.2.0","versionType":"semver"},{"version":"8.1.2","status":"affected","lessThanOrEqual":"8.1.2","versionType":"semver"},{"version":"8.1.1","status":"affected","lessThanOrEqual":"8.1.1","versionType":"semver"},{"version":"8.1.0","status":"affected","lessThanOrEqual":"8.1.0","versionType":"semver"},{"version":"8.0.1","status":"affected","lessThanOrEqual":"8.0.1","versionType":"semver"},{"version":"8.0.0","status":"affected","lessThanOrEqual":"8.0.0","versionType":"semver"},{"version":"7.88.1","status":"affected","lessThanOrEqual":"7.88.1","versionType":"semver"},{"version":"7.88.0","status":"affected","lessThanOrEqual":"7.88.0","versionType":"semver"},{"version":"7.87.0","status":"affected","lessThanOrEqual":"7.87.0","versionType":"semver"},{"version":"7.86.0","status":"affected","lessThanOrEqual":"7.86.0","versionType":"semver"},{"version":"7.85.0","status":"affected","lessThanOrEqual":"7.85.0","versionType":"semver"},{"version":"7.84.0","status":"affected","lessThanOrEqual":"7.84.0","versionType":"semver"},{"version":"7.83.1","status":"affected","lessThanOrEqual":"7.83.1","versionType":"semver"},{"version":"7.83.0","status":"affected","lessThanOrEqual":"7.83.0","versionType":"semver"},{"version":"7.82.0","status":"affected","lessThanOrEqual":"7.82.0","versionType":"semver"},{"version":"7.81.0","status":"affected","lessThanOrEqual":"7.81.0","versionType":"semver"},{"version":"7.80.0","status":"affected","lessThanOrEqual":"7.80.0","versionType":"semver"},{"version":"7.79.1","status":"affected","lessThanOrEqual":"7.79.1","versionType":"semver"},{"version":"7.79.0","status":"affected","lessThanOrEqual":"7.79.0","versionType":"semver"},{"version":"7.78.0","status":"affected","lessThanOrEqual":"7.78.0","versionType":"semver"},{"version":"7.77.0","status":"affected","lessThanOrEqual":"7.77.0","versionType":"semver"},{"version":"7.76.1","status":"affected","lessThanOrEqual":"7.76.1","versionType":"semver"},{"version":"7.76.0","status":"affected","lessThanOrEqual":"7.76.0","versionType":"semver"},{"version":"7.75.0","status":"affected","lessThanOrEqual":"7.75.0","versionType":"semver"},{"version":"7.74.0","status":"affected","lessThanOrEqual":"7.74.0","versionType":"semver"},{"version":"7.73.0","status":"affected","lessThanOrEqual":"7.73.0","versionType":"semver"},{"version":"7.72.0","status":"affected","lessThanOrEqual":"7.72.0","versionType":"semver"},{"version":"7.71.1","status":"affected","lessThanOrEqual":"7.71.1","versionType":"semver"},{"version":"7.71.0","status":"affected","lessThanOrEqual":"7.71.0","versionType":"semver"},{"version":"7.70.0","status":"affected","lessThanOrEqual":"7.70.0","versionType":"semver"},{"version":"7.69.1","status":"affected","lessThanOrEqual":"7.69.1","versionType":"semver"},{"version":"7.69.0","status":"affected","lessThanOrEqual":"7.69.0","versionType":"semver"},{"version":"7.68.0","status":"affected","lessThanOrEqual":"7.68.0","versionType":"semver"},{"version":"7.67.0","status":"affected","lessThanOrEqual":"7.67.0","versionType":"semver"},{"version":"7.66.0","status":"affected","lessThanOrEqual":"7.66.0","versionType":"semver"},{"version":"7.65.3","status":"affected","lessThanOrEqual":"7.65.3","versionType":"semver"},{"version":"7.65.2","status":"affected","lessThanOrEqual":"7.65.2","versionType":"semver"},{"version":"7.65.1","status":"affected","lessThanOrEqual":"7.65.1","versionType":"semver"},{"version":"7.65.0","status":"affected","lessThanOrEqual":"7.65.0","versionType":"semver"},{"version":"7.64.1","status":"affected","lessThanOrEqual":"7.64.1","versionType":"semver"},{"version":"7.64.0","status":"affected","lessThanOrEqual":"7.64.0","versionType":"semver"},{"version":"7.63.0","status":"affected","lessThanOrEqual":"7.63.0","versionType":"semver"},{"version":"7.62.0","status":"affected","lessThanOrEqual":"7.62.0","versionType":"semver"},{"version":"7.61.1","status":"affected","lessThanOrEqual":"7.61.1","versionType":"semver"},{"version":"7.61.0","status":"affected","lessThanOrEqual":"7.61.0","versionType":"semver"},{"version":"7.60.0","status":"affected","lessThanOrEqual":"7.60.0","versionType":"semver"},{"version":"7.59.0","status":"affected","lessThanOrEqual":"7.59.0","versionType":"semver"},{"version":"7.58.0","status":"affected","lessThanOrEqual":"7.58.0","versionType":"semver"},{"version":"7.57.0","status":"affected","lessThanOrEqual":"7.57.0","versionType":"semver"},{"version":"7.56.1","status":"affected","lessThanOrEqual":"7.56.1","versionType":"semver"},{"version":"7.56.0","status":"affected","lessThanOrEqual":"7.56.0","versionType":"semver"},{"version":"7.55.1","status":"affected","lessThanOrEqual":"7.55.1","versionType":"semver"},{"version":"7.55.0","status":"affected","lessThanOrEqual":"7.55.0","versionType":"semver"},{"version":"7.54.1","status":"affected","lessThanOrEqual":"7.54.1","versionType":"semver"},{"version":"7.54.0","status":"affected","lessThanOrEqual":"7.54.0","versionType":"semver"},{"version":"7.53.1","status":"affected","lessThanOrEqual":"7.53.1","versionType":"semver"},{"version":"7.53.0","status":"affected","lessThanOrEqual":"7.53.0","versionType":"semver"},{"version":"7.52.1","status":"affected","lessThanOrEqual":"7.52.1","versionType":"semver"},{"version":"7.52.0","status":"affected","lessThanOrEqual":"7.52.0","versionType":"semver"},{"version":"7.51.0","status":"affected","lessThanOrEqual":"7.51.0","versionType":"semver"},{"version":"7.50.3","status":"affected","lessThanOrEqual":"7.50.3","versionType":"semver"},{"version":"7.50.2","status":"affected","lessThanOrEqual":"7.50.2","versionType":"semver"},{"version":"7.50.1","status":"affected","lessThanOrEqual":"7.50.1","versionType":"semver"},{"version":"7.50.0","status":"affected","lessThanOrEqual":"7.50.0","versionType":"semver"},{"version":"7.49.1","status":"affected","lessThanOrEqual":"7.49.1","versionType":"semver"},{"version":"7.49.0","status":"affected","lessThanOrEqual":"7.49.0","versionType":"semver"},{"version":"7.48.0","status":"affected","lessThanOrEqual":"7.48.0","versionType":"semver"},{"version":"7.47.1","status":"affected","lessThanOrEqual":"7.47.1","versionType":"semver"},{"version":"7.47.0","status":"affected","lessThanOrEqual":"7.47.0","versionType":"semver"},{"version":"7.46.0","status":"affected","lessThanOrEqual":"7.46.0","versionType":"semver"},{"version":"7.45.0","status":"affected","lessThanOrEqual":"7.45.0","versionType":"semver"},{"version":"7.44.0","status":"affected","lessThanOrEqual":"7.44.0","versionType":"semver"},{"version":"7.43.0","status":"affected","lessThanOrEqual":"7.43.0","versionType":"semver"}],"defaultStatus":"unaffected"}],"references":[{"url":"https://curl.se/docs/CVE-2026-87866.json","name":"json"},{"url":"https://curl.se/docs/CVE-2026-87866.html","name":"www"},{"url":"https://hackerone.com/reports/3989514","name":"issue"}],"credits":[{"lang":"en","value":"Muhamad Arga Reksapati","type":"finder"},{"lang":"en","value":"Stefan Eissing","type":"remediation developer"}]},"adp":[{"problemTypes":[{"descriptions":[{"type":"CWE","cweId":"CWE-295","lang":"en","description":"CWE-295 Improper Certificate Validation"}]}],"references":[{"url":"https://hackerone.com/reports/3989514","tags":["exploit"]}],"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":9.1,"attackVector":"NETWORK","baseSeverity":"CRITICAL","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"timestamp":"2026-10-29T18:58:30.759022Z","id":"CVE-2026-87866","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-10-29T18:59:00.981Z"}}]}}