{"schemaVersion":3,"id":"CVE-2026-87866","aliases":["DEBIAN-CVE-2026-87866"],"status":"published","duplicateOf":null,"title":null,"description":"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.","dates":{"published":"2026-10-20T20:16:30.866Z","modified":"2026-10-20T20:16:30.866Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":null,"severity":"unknown","version":null,"versionLabel":null,"source":null,"vector":null,"computed":false,"selection":"none"},"metrics":[]},"epss":{"probability":null,"percentile":null,"severity":"unknown","asOf":null,"change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[],"last30":[]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[],"affected":[{"vendor":"curl","product":"curl","name":"curl","label":"curl","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"8.22.0","noFixRecorded":false,"fixedIn":null},{"text":"8.21.0","noFixRecorded":false,"fixedIn":null},{"text":"8.20.0","noFixRecorded":false,"fixedIn":null},{"text":"8.19.0","noFixRecorded":false,"fixedIn":null},{"text":"8.18.0","noFixRecorded":false,"fixedIn":null},{"text":"8.17.0","noFixRecorded":false,"fixedIn":null},{"text":"8.16.0","noFixRecorded":false,"fixedIn":null},{"text":"8.15.0","noFixRecorded":false,"fixedIn":null},{"text":"8.14.1","noFixRecorded":false,"fixedIn":null},{"text":"8.14.0","noFixRecorded":false,"fixedIn":null},{"text":"8.13.0","noFixRecorded":false,"fixedIn":null},{"text":"8.12.1","noFixRecorded":false,"fixedIn":null},{"text":"8.12.0","noFixRecorded":false,"fixedIn":null},{"text":"8.11.1","noFixRecorded":false,"fixedIn":null},{"text":"8.11.0","noFixRecorded":false,"fixedIn":null},{"text":"8.10.1","noFixRecorded":false,"fixedIn":null},{"text":"8.10.0","noFixRecorded":false,"fixedIn":null},{"text":"8.9.1","noFixRecorded":false,"fixedIn":null},{"text":"8.9.0","noFixRecorded":false,"fixedIn":null},{"text":"8.8.0","noFixRecorded":false,"fixedIn":null},{"text":"8.7.1","noFixRecorded":false,"fixedIn":null},{"text":"8.7.0","noFixRecorded":false,"fixedIn":null},{"text":"8.6.0","noFixRecorded":false,"fixedIn":null},{"text":"8.5.0","noFixRecorded":false,"fixedIn":null},{"text":"8.4.0","noFixRecorded":false,"fixedIn":null},{"text":"8.3.0","noFixRecorded":false,"fixedIn":null},{"text":"8.2.1","noFixRecorded":false,"fixedIn":null},{"text":"8.2.0","noFixRecorded":false,"fixedIn":null},{"text":"8.1.2","noFixRecorded":false,"fixedIn":null},{"text":"8.1.1","noFixRecorded":false,"fixedIn":null},{"text":"8.1.0","noFixRecorded":false,"fixedIn":null},{"text":"8.0.1","noFixRecorded":false,"fixedIn":null},{"text":"8.0.0","noFixRecorded":false,"fixedIn":null},{"text":"7.88.1","noFixRecorded":false,"fixedIn":null},{"text":"7.88.0","noFixRecorded":false,"fixedIn":null},{"text":"7.87.0","noFixRecorded":false,"fixedIn":null},{"text":"7.86.0","noFixRecorded":false,"fixedIn":null},{"text":"7.85.0","noFixRecorded":false,"fixedIn":null},{"text":"7.84.0","noFixRecorded":false,"fixedIn":null},{"text":"7.83.1","noFixRecorded":false,"fixedIn":null},{"text":"7.83.0","noFixRecorded":false,"fixedIn":null},{"text":"7.82.0","noFixRecorded":false,"fixedIn":null},{"text":"7.81.0","noFixRecorded":false,"fixedIn":null},{"text":"7.80.0","noFixRecorded":false,"fixedIn":null},{"text":"7.79.1","noFixRecorded":false,"fixedIn":null},{"text":"7.79.0","noFixRecorded":false,"fixedIn":null},{"text":"7.78.0","noFixRecorded":false,"fixedIn":null},{"text":"7.77.0","noFixRecorded":false,"fixedIn":null},{"text":"7.76.1","noFixRecorded":false,"fixedIn":null},{"text":"7.76.0","noFixRecorded":false,"fixedIn":null},{"text":"7.75.0","noFixRecorded":false,"fixedIn":null},{"text":"7.74.0","noFixRecorded":false,"fixedIn":null},{"text":"7.73.0","noFixRecorded":false,"fixedIn":null},{"text":"7.72.0","noFixRecorded":false,"fixedIn":null},{"text":"7.71.1","noFixRecorded":false,"fixedIn":null},{"text":"7.71.0","noFixRecorded":false,"fixedIn":null},{"text":"7.70.0","noFixRecorded":false,"fixedIn":null},{"text":"7.69.1","noFixRecorded":false,"fixedIn":null},{"text":"7.69.0","noFixRecorded":false,"fixedIn":null},{"text":"7.68.0","noFixRecorded":false,"fixedIn":null},{"text":"7.67.0","noFixRecorded":false,"fixedIn":null},{"text":"7.66.0","noFixRecorded":false,"fixedIn":null},{"text":"7.65.3","noFixRecorded":false,"fixedIn":null},{"text":"7.65.2","noFixRecorded":false,"fixedIn":null},{"text":"7.65.1","noFixRecorded":false,"fixedIn":null},{"text":"7.65.0","noFixRecorded":false,"fixedIn":null},{"text":"7.64.1","noFixRecorded":false,"fixedIn":null},{"text":"7.64.0","noFixRecorded":false,"fixedIn":null},{"text":"7.63.0","noFixRecorded":false,"fixedIn":null},{"text":"7.62.0","noFixRecorded":false,"fixedIn":null},{"text":"7.61.1","noFixRecorded":false,"fixedIn":null},{"text":"7.61.0","noFixRecorded":false,"fixedIn":null},{"text":"7.60.0","noFixRecorded":false,"fixedIn":null},{"text":"7.59.0","noFixRecorded":false,"fixedIn":null},{"text":"7.58.0","noFixRecorded":false,"fixedIn":null},{"text":"7.57.0","noFixRecorded":false,"fixedIn":null},{"text":"7.56.1","noFixRecorded":false,"fixedIn":null},{"text":"7.56.0","noFixRecorded":false,"fixedIn":null},{"text":"7.55.1","noFixRecorded":false,"fixedIn":null},{"text":"7.55.0","noFixRecorded":false,"fixedIn":null},{"text":"7.54.1","noFixRecorded":false,"fixedIn":null},{"text":"7.54.0","noFixRecorded":false,"fixedIn":null},{"text":"7.53.1","noFixRecorded":false,"fixedIn":null},{"text":"7.53.0","noFixRecorded":false,"fixedIn":null},{"text":"7.52.1","noFixRecorded":false,"fixedIn":null},{"text":"7.52.0","noFixRecorded":false,"fixedIn":null},{"text":"7.51.0","noFixRecorded":false,"fixedIn":null},{"text":"7.50.3","noFixRecorded":false,"fixedIn":null},{"text":"7.50.2","noFixRecorded":false,"fixedIn":null},{"text":"7.50.1","noFixRecorded":false,"fixedIn":null},{"text":"7.50.0","noFixRecorded":false,"fixedIn":null},{"text":"7.49.1","noFixRecorded":false,"fixedIn":null},{"text":"7.49.0","noFixRecorded":false,"fixedIn":null},{"text":"7.48.0","noFixRecorded":false,"fixedIn":null},{"text":"7.47.1","noFixRecorded":false,"fixedIn":null},{"text":"7.47.0","noFixRecorded":false,"fixedIn":null},{"text":"7.46.0","noFixRecorded":false,"fixedIn":null},{"text":"7.45.0","noFixRecorded":false,"fixedIn":null},{"text":"7.44.0","noFixRecorded":false,"fixedIn":null},{"text":"7.43.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"8.22.0 | 8.21.0 | 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 | 8.10.1 | 8.10.0 | 8.9.1 | 8.9.0 | 8.8.0 | 8.7.1 | 8.7.0 | 8.6.0 | 8.5.0 | 8.4.0 | 8.3.0 | 8.2.1 | 8.2.0 | 8.1.2 | 8.1.1 | 8.1.0 | 8.0.1 | 8.0.0 | 7.88.1 | 7.88.0 | 7.87.0 | 7.86.0 | 7.85.0 | 7.84.0 | 7.83.1 | 7.83.0 | 7.82.0 | 7.81.0 | 7.80.0 | 7.79.1 | 7.79.0 | 7.78.0 | 7.77.0 | 7.76.1 | 7.76.0 | 7.75.0 | 7.74.0 | 7.73.0 | 7.72.0 | 7.71.1 | 7.71.0 | 7.70.0 | 7.69.1 | 7.69.0 | 7.68.0 | 7.67.0 | 7.66.0 | 7.65.3 | 7.65.2 | 7.65.1 | 7.65.0 | 7.64.1 | 7.64.0 | 7.63.0 | 7.62.0 | 7.61.1 | 7.61.0 | 7.60.0 | 7.59.0 | 7.58.0 | 7.57.0 | 7.56.1 | 7.56.0 | 7.55.1 | 7.55.0 | 7.54.1 | 7.54.0 | 7.53.1 | 7.53.0 | 7.52.1 | 7.52.0 | 7.51.0 | 7.50.3 | 7.50.2 | 7.50.1 | 7.50.0 | 7.49.1 | 7.49.0 | 7.48.0 | 7.47.1 | 7.47.0 | 7.46.0 | 7.45.0 | 7.44.0 | 7.43.0","eol":null,"hubHref":"/vendor/curl/curl"},{"vendor":"debian","product":"curl","name":"curl","label":"curl","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/curl","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://security-tracker.debian.org/tracker/CVE-2026-87866","label":"security-tracker.debian.org/tracker/CVE-2026-87866","hostname":"security-tracker.debian.org","tags":["Advisory"]},{"url":"https://curl.se/docs/CVE-2026-87866.json","label":"curl.se/docs/CVE-2026-87866.json","hostname":"curl.se","tags":[]},{"url":"https://curl.se/docs/CVE-2026-87866.html","label":"curl.se/docs/CVE-2026-87866.html","hostname":"curl.se","tags":[]},{"url":"https://hackerone.com/reports/3989514","label":"hackerone.com/reports/3989514","hostname":"hackerone.com","tags":[]}],"lineage":{"upstream":[],"downstream":["CVE-2026-92392","OPENSUSE-SU-2026:12150-1"],"duplicates":[],"related":["OPENSUSE-SU-2026:12150-1"]},"timeline":[{"kind":"published","date":"2026-10-20T20:16:30.866Z","label":"Published","detail":"Vulnerability first disclosed.","source":null}],"risk":{"score":0,"level":"minimal","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T08:09:39.236Z","stale":false,"partial":false}}