Vulnerability details

CVE-2026-87866

curl curl

wolfSSL public-key pinning bypass

CVSS 3.1
9.1Critical

Official description

When built with wolfSSL, curl can successfully validate a pinned public key hash against a key the TLS peer does not possess. During the TLS handshake, wolfSSL validates the connection, but curl's subsequent re-parsing of the same certificate - tricked by a manipulated validity length field - extracts and matches a different embedded key, incorrectly authorizing the pinned public key.

CVSS scores

ScoreVersionSourceVector
9.1Critical 3.1 CISA ADP / Vulnrichment (CISA-ADP) CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Affected products

VendorProductVersionsSource
curl curl 7.43.0 ≤ v ≤ 7.43.0 CVEProject cvelistV5 (CNA)
curl curl 7.44.0 ≤ v ≤ 7.44.0 CVEProject cvelistV5 (CNA)
curl curl 7.45.0 ≤ v ≤ 7.45.0 CVEProject cvelistV5 (CNA)
curl curl 7.46.0 ≤ v ≤ 7.46.0 CVEProject cvelistV5 (CNA)
curl curl 7.47.0 ≤ v ≤ 7.47.0 CVEProject cvelistV5 (CNA)
curl curl 7.47.1 ≤ v ≤ 7.47.1 CVEProject cvelistV5 (CNA)
curl curl 7.48.0 ≤ v ≤ 7.48.0 CVEProject cvelistV5 (CNA)
curl curl 7.49.0 ≤ v ≤ 7.49.0 CVEProject cvelistV5 (CNA)
curl curl 7.49.1 ≤ v ≤ 7.49.1 CVEProject cvelistV5 (CNA)
curl curl 7.50.0 ≤ v ≤ 7.50.0 CVEProject cvelistV5 (CNA)
curl curl 7.50.1 ≤ v ≤ 7.50.1 CVEProject cvelistV5 (CNA)
curl curl 7.50.2 ≤ v ≤ 7.50.2 CVEProject cvelistV5 (CNA)
curl curl 7.50.3 ≤ v ≤ 7.50.3 CVEProject cvelistV5 (CNA)
curl curl 7.51.0 ≤ v ≤ 7.51.0 CVEProject cvelistV5 (CNA)
curl curl 7.52.0 ≤ v ≤ 7.52.0 CVEProject cvelistV5 (CNA)
curl curl 7.52.1 ≤ v ≤ 7.52.1 CVEProject cvelistV5 (CNA)
curl curl 7.53.0 ≤ v ≤ 7.53.0 CVEProject cvelistV5 (CNA)
curl curl 7.53.1 ≤ v ≤ 7.53.1 CVEProject cvelistV5 (CNA)
curl curl 7.54.0 ≤ v ≤ 7.54.0 CVEProject cvelistV5 (CNA)
curl curl 7.54.1 ≤ v ≤ 7.54.1 CVEProject cvelistV5 (CNA)
curl curl 7.55.0 ≤ v ≤ 7.55.0 CVEProject cvelistV5 (CNA)
curl curl 7.55.1 ≤ v ≤ 7.55.1 CVEProject cvelistV5 (CNA)
curl curl 7.56.0 ≤ v ≤ 7.56.0 CVEProject cvelistV5 (CNA)
curl curl 7.56.1 ≤ v ≤ 7.56.1 CVEProject cvelistV5 (CNA)
curl curl 7.57.0 ≤ v ≤ 7.57.0 CVEProject cvelistV5 (CNA)
curl curl 7.58.0 ≤ v ≤ 7.58.0 CVEProject cvelistV5 (CNA)
curl curl 7.59.0 ≤ v ≤ 7.59.0 CVEProject cvelistV5 (CNA)
curl curl 7.60.0 ≤ v ≤ 7.60.0 CVEProject cvelistV5 (CNA)
curl curl 7.61.0 ≤ v ≤ 7.61.0 CVEProject cvelistV5 (CNA)
curl curl 7.61.1 ≤ v ≤ 7.61.1 CVEProject cvelistV5 (CNA)
curl curl 7.62.0 ≤ v ≤ 7.62.0 CVEProject cvelistV5 (CNA)
curl curl 7.63.0 ≤ v ≤ 7.63.0 CVEProject cvelistV5 (CNA)
curl curl 7.64.0 ≤ v ≤ 7.64.0 CVEProject cvelistV5 (CNA)
curl curl 7.64.1 ≤ v ≤ 7.64.1 CVEProject cvelistV5 (CNA)
curl curl 7.65.0 ≤ v ≤ 7.65.0 CVEProject cvelistV5 (CNA)
curl curl 7.65.1 ≤ v ≤ 7.65.1 CVEProject cvelistV5 (CNA)
curl curl 7.65.2 ≤ v ≤ 7.65.2 CVEProject cvelistV5 (CNA)
curl curl 7.65.3 ≤ v ≤ 7.65.3 CVEProject cvelistV5 (CNA)
curl curl 7.66.0 ≤ v ≤ 7.66.0 CVEProject cvelistV5 (CNA)
curl curl 7.67.0 ≤ v ≤ 7.67.0 CVEProject cvelistV5 (CNA)
curl curl 7.68.0 ≤ v ≤ 7.68.0 CVEProject cvelistV5 (CNA)
curl curl 7.69.0 ≤ v ≤ 7.69.0 CVEProject cvelistV5 (CNA)
curl curl 7.69.1 ≤ v ≤ 7.69.1 CVEProject cvelistV5 (CNA)
curl curl 7.70.0 ≤ v ≤ 7.70.0 CVEProject cvelistV5 (CNA)
curl curl 7.71.0 ≤ v ≤ 7.71.0 CVEProject cvelistV5 (CNA)
curl curl 7.71.1 ≤ v ≤ 7.71.1 CVEProject cvelistV5 (CNA)
curl curl 7.72.0 ≤ v ≤ 7.72.0 CVEProject cvelistV5 (CNA)
curl curl 7.73.0 ≤ v ≤ 7.73.0 CVEProject cvelistV5 (CNA)
curl curl 7.74.0 ≤ v ≤ 7.74.0 CVEProject cvelistV5 (CNA)
curl curl 7.75.0 ≤ v ≤ 7.75.0 CVEProject cvelistV5 (CNA)
curl curl 7.76.0 ≤ v ≤ 7.76.0 CVEProject cvelistV5 (CNA)
curl curl 7.76.1 ≤ v ≤ 7.76.1 CVEProject cvelistV5 (CNA)
curl curl 7.77.0 ≤ v ≤ 7.77.0 CVEProject cvelistV5 (CNA)
curl curl 7.78.0 ≤ v ≤ 7.78.0 CVEProject cvelistV5 (CNA)
curl curl 7.79.0 ≤ v ≤ 7.79.0 CVEProject cvelistV5 (CNA)
curl curl 7.79.1 ≤ v ≤ 7.79.1 CVEProject cvelistV5 (CNA)
curl curl 7.80.0 ≤ v ≤ 7.80.0 CVEProject cvelistV5 (CNA)
curl curl 7.81.0 ≤ v ≤ 7.81.0 CVEProject cvelistV5 (CNA)
curl curl 7.82.0 ≤ v ≤ 7.82.0 CVEProject cvelistV5 (CNA)
curl curl 7.83.0 ≤ v ≤ 7.83.0 CVEProject cvelistV5 (CNA)
curl curl 7.83.1 ≤ v ≤ 7.83.1 CVEProject cvelistV5 (CNA)
curl curl 7.84.0 ≤ v ≤ 7.84.0 CVEProject cvelistV5 (CNA)
curl curl 7.85.0 ≤ v ≤ 7.85.0 CVEProject cvelistV5 (CNA)
curl curl 7.86.0 ≤ v ≤ 7.86.0 CVEProject cvelistV5 (CNA)
curl curl 7.87.0 ≤ v ≤ 7.87.0 CVEProject cvelistV5 (CNA)
curl curl 7.88.0 ≤ v ≤ 7.88.0 CVEProject cvelistV5 (CNA)
curl curl 7.88.1 ≤ v ≤ 7.88.1 CVEProject cvelistV5 (CNA)
curl curl 8.0.0 ≤ v ≤ 8.0.0 CVEProject cvelistV5 (CNA)
curl curl 8.0.1 ≤ v ≤ 8.0.1 CVEProject cvelistV5 (CNA)
curl curl 8.1.0 ≤ v ≤ 8.1.0 CVEProject cvelistV5 (CNA)
curl curl 8.1.1 ≤ v ≤ 8.1.1 CVEProject cvelistV5 (CNA)
curl curl 8.1.2 ≤ v ≤ 8.1.2 CVEProject cvelistV5 (CNA)
curl curl 8.10.0 ≤ v ≤ 8.10.0 CVEProject cvelistV5 (CNA)
curl curl 8.10.1 ≤ v ≤ 8.10.1 CVEProject cvelistV5 (CNA)
curl curl 8.11.0 ≤ v ≤ 8.11.0 CVEProject cvelistV5 (CNA)
curl curl 8.11.1 ≤ v ≤ 8.11.1 CVEProject cvelistV5 (CNA)
curl curl 8.12.0 ≤ v ≤ 8.12.0 CVEProject cvelistV5 (CNA)
curl curl 8.12.1 ≤ v ≤ 8.12.1 CVEProject cvelistV5 (CNA)
curl curl 8.13.0 ≤ v ≤ 8.13.0 CVEProject cvelistV5 (CNA)
curl curl 8.14.0 ≤ v ≤ 8.14.0 CVEProject cvelistV5 (CNA)
curl curl 8.14.1 ≤ v ≤ 8.14.1 CVEProject cvelistV5 (CNA)
curl curl 8.15.0 ≤ v ≤ 8.15.0 CVEProject cvelistV5 (CNA)
curl curl 8.16.0 ≤ v ≤ 8.16.0 CVEProject cvelistV5 (CNA)
curl curl 8.17.0 ≤ v ≤ 8.17.0 CVEProject cvelistV5 (CNA)
curl curl 8.18.0 ≤ v ≤ 8.18.0 CVEProject cvelistV5 (CNA)
curl curl 8.19.0 ≤ v ≤ 8.19.0 CVEProject cvelistV5 (CNA)
curl curl 8.2.0 ≤ v ≤ 8.2.0 CVEProject cvelistV5 (CNA)
curl curl 8.2.1 ≤ v ≤ 8.2.1 CVEProject cvelistV5 (CNA)
curl curl 8.20.0 ≤ v ≤ 8.20.0 CVEProject cvelistV5 (CNA)
curl curl 8.21.0 ≤ v ≤ 8.21.0 CVEProject cvelistV5 (CNA)
curl curl 8.22.0 ≤ v ≤ 8.22.0 CVEProject cvelistV5 (CNA)
curl curl 8.3.0 ≤ v ≤ 8.3.0 CVEProject cvelistV5 (CNA)
curl curl 8.4.0 ≤ v ≤ 8.4.0 CVEProject cvelistV5 (CNA)
curl curl 8.5.0 ≤ v ≤ 8.5.0 CVEProject cvelistV5 (CNA)
curl curl 8.6.0 ≤ v ≤ 8.6.0 CVEProject cvelistV5 (CNA)
curl curl 8.7.0 ≤ v ≤ 8.7.0 CVEProject cvelistV5 (CNA)
curl curl 8.7.1 ≤ v ≤ 8.7.1 CVEProject cvelistV5 (CNA)
curl curl 8.8.0 ≤ v ≤ 8.8.0 CVEProject cvelistV5 (CNA)
curl curl 8.9.0 ≤ v ≤ 8.9.0 CVEProject cvelistV5 (CNA)
curl curl 8.9.1 ≤ v ≤ 8.9.1 CVEProject cvelistV5 (CNA)

References and advisories

3
Kolun on Telegram @kolunsec Exploited CVEs, key news and a daily digest Alerts for this product's next CVEsFollow the product to get new vulnerabilities on Telegram.

Details

Published
2026-10-20
Last updated
2026-10-29
State
Published
Assigner (CNA)
curl
Kolun priority
25 · Low

Exploit prediction (EPSS)

0.51%
Probability of exploitation in 30 days
43.7%
Percentile (among all CVEs)

SSVC assessment (CISA)

Automatable
Yes
Exploitation
Proof of concept
Technical impact
Total

Weaknesses (CWE)

  • CWE-295
    Improper Certificate Validation