---
id: CVE-2026-87866
title: wolfSSL public-key pinning bypass
summary: |-
  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
  certif…
severity: none
cwe:
  - CWE-295
vendor: curl
product: curl
affected:
  - curl >= 8.22.0 <= 8.22.0
  - curl >= 8.21.0 <= 8.21.0
  - curl >= 8.20.0 <= 8.20.0
  - curl >= 8.19.0 <= 8.19.0
  - curl >= 8.18.0 <= 8.18.0
  - curl >= 8.17.0 <= 8.17.0
  - curl >= 8.16.0 <= 8.16.0
  - curl >= 8.15.0 <= 8.15.0
  - curl >= 8.14.1 <= 8.14.1
  - curl >= 8.14.0 <= 8.14.0
  - curl >= 8.13.0 <= 8.13.0
  - curl >= 8.12.1 <= 8.12.1
  - curl >= 8.12.0 <= 8.12.0
  - curl >= 8.11.1 <= 8.11.1
  - curl >= 8.11.0 <= 8.11.0
  - curl >= 8.10.1 <= 8.10.1
  - curl >= 8.10.0 <= 8.10.0
  - curl >= 8.9.1 <= 8.9.1
  - curl >= 8.9.0 <= 8.9.0
  - curl >= 8.8.0 <= 8.8.0
  - curl >= 8.7.1 <= 8.7.1
  - curl >= 8.7.0 <= 8.7.0
  - curl >= 8.6.0 <= 8.6.0
  - curl >= 8.5.0 <= 8.5.0
  - curl >= 8.4.0 <= 8.4.0
  - curl >= 8.3.0 <= 8.3.0
  - curl >= 8.2.1 <= 8.2.1
  - curl >= 8.2.0 <= 8.2.0
  - curl >= 8.1.2 <= 8.1.2
  - curl >= 8.1.1 <= 8.1.1
  - curl >= 8.1.0 <= 8.1.0
  - curl >= 8.0.1 <= 8.0.1
  - curl >= 8.0.0 <= 8.0.0
  - curl >= 7.88.1 <= 7.88.1
  - curl >= 7.88.0 <= 7.88.0
  - curl >= 7.87.0 <= 7.87.0
  - curl >= 7.86.0 <= 7.86.0
  - curl >= 7.85.0 <= 7.85.0
  - curl >= 7.84.0 <= 7.84.0
  - curl >= 7.83.1 <= 7.83.1
  - curl >= 7.83.0 <= 7.83.0
  - curl >= 7.82.0 <= 7.82.0
  - curl >= 7.81.0 <= 7.81.0
  - curl >= 7.80.0 <= 7.80.0
  - curl >= 7.79.1 <= 7.79.1
  - curl >= 7.79.0 <= 7.79.0
  - curl >= 7.78.0 <= 7.78.0
  - curl >= 7.77.0 <= 7.77.0
  - curl >= 7.76.1 <= 7.76.1
  - curl >= 7.76.0 <= 7.76.0
published: '2026-10-20'
updated: '2026-10-20'
sourceUpdated: '2026-10-20T20:16:30.866Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-87866'
references:
  - url: 'https://curl.se/docs/CVE-2026-87866.json'
    label: json
  - url: 'https://curl.se/docs/CVE-2026-87866.html'
    label: www
  - url: 'https://hackerone.com/reports/3989514'
    label: issue
tags:
  - cve.org
ingestedAt: '2026-10-20T21:19:21.285Z'
---

## Overview

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.

## Affected

- `curl >= 8.22.0 <= 8.22.0`
- `curl >= 8.21.0 <= 8.21.0`
- `curl >= 8.20.0 <= 8.20.0`
- `curl >= 8.19.0 <= 8.19.0`
- `curl >= 8.18.0 <= 8.18.0`
- `curl >= 8.17.0 <= 8.17.0`
- `curl >= 8.16.0 <= 8.16.0`
- `curl >= 8.15.0 <= 8.15.0`
- `curl >= 8.14.1 <= 8.14.1`
- `curl >= 8.14.0 <= 8.14.0`
- `curl >= 8.13.0 <= 8.13.0`
- `curl >= 8.12.1 <= 8.12.1`
- `curl >= 8.12.0 <= 8.12.0`
- `curl >= 8.11.1 <= 8.11.1`
- `curl >= 8.11.0 <= 8.11.0`
- `curl >= 8.10.1 <= 8.10.1`
- `curl >= 8.10.0 <= 8.10.0`
- `curl >= 8.9.1 <= 8.9.1`
- `curl >= 8.9.0 <= 8.9.0`
- `curl >= 8.8.0 <= 8.8.0`
- `curl >= 8.7.1 <= 8.7.1`
- `curl >= 8.7.0 <= 8.7.0`
- `curl >= 8.6.0 <= 8.6.0`
- `curl >= 8.5.0 <= 8.5.0`
- `curl >= 8.4.0 <= 8.4.0`
- `curl >= 8.3.0 <= 8.3.0`
- `curl >= 8.2.1 <= 8.2.1`
- `curl >= 8.2.0 <= 8.2.0`
- `curl >= 8.1.2 <= 8.1.2`
- `curl >= 8.1.1 <= 8.1.1`
- `curl >= 8.1.0 <= 8.1.0`
- `curl >= 8.0.1 <= 8.0.1`
- `curl >= 8.0.0 <= 8.0.0`
- `curl >= 7.88.1 <= 7.88.1`
- `curl >= 7.88.0 <= 7.88.0`
- `curl >= 7.87.0 <= 7.87.0`
- `curl >= 7.86.0 <= 7.86.0`
- `curl >= 7.85.0 <= 7.85.0`
- `curl >= 7.84.0 <= 7.84.0`
- `curl >= 7.83.1 <= 7.83.1`
- `curl >= 7.83.0 <= 7.83.0`
- `curl >= 7.82.0 <= 7.82.0`
- `curl >= 7.81.0 <= 7.81.0`
- `curl >= 7.80.0 <= 7.80.0`
- `curl >= 7.79.1 <= 7.79.1`
- `curl >= 7.79.0 <= 7.79.0`
- `curl >= 7.78.0 <= 7.78.0`
- `curl >= 7.77.0 <= 7.77.0`
- `curl >= 7.76.1 <= 7.76.1`
- `curl >= 7.76.0 <= 7.76.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
