Skip to content

vtls_scache: include signature_algorithms in the SSL peer cache key#21651

Closed
eslerm wants to merge 1 commit into
curl:masterfrom
eslerm:sigalgs-peer-key
Closed

vtls_scache: include signature_algorithms in the SSL peer cache key#21651
eslerm wants to merge 1 commit into
curl:masterfrom
eslerm:sigalgs-peer-key

Conversation

@eslerm

@eslerm eslerm commented May 16, 2026

Copy link
Copy Markdown
Contributor

Curl_ssl_peer_key_make() did not include ssl->signature_algorithms in
the SSL peer cache key, while match_ssl_primary_config() compares the
field. Handles differing only in CURLOPT_SSL_SIGNATURE_ALGORITHMS
shared a peer key and could resume each other's sessions across a
shared CURLSH SSL session cache.

Add :SIGALGS-%s alongside CIPHER13 and CURVES.

Verified on Linux (ubuntu:24.04, distro OpenSSL) and macOS (Homebrew
OpenSSL 3.6.2) that pre-patch reproduces the bypass and post-patch
returns rc=35.

Curl_ssl_peer_key_make() omitted ssl->signature_algorithms, although
match_ssl_primary_config() compares the field. Two handles differing
only in CURLOPT_SSL_SIGNATURE_ALGORITHMS therefore shared a peer key
and could resume each other's sessions across a shared CURLSH SSL
session cache.

Add :SIGALGS-%s next to the other ssl_primary_config fields.
@github-actions github-actions Bot added the TLS label May 16, 2026
@bagder bagder requested a review from icing May 16, 2026 22:10
@bagder bagder closed this in 8a86fa1 May 18, 2026
@bagder

bagder commented May 18, 2026

Copy link
Copy Markdown
Member

Thanks!

outcast36 pushed a commit to greearb/curl that referenced this pull request Jun 3, 2026
Curl_ssl_peer_key_make() omitted ssl->signature_algorithms, although
match_ssl_primary_config() compares the field. Two handles differing
only in CURLOPT_SSL_SIGNATURE_ALGORITHMS therefore shared a peer key and
could resume each other's sessions across a shared CURLSH SSL session
cache.

Add :SIGALGS-%s next to the other ssl_primary_config fields.

Closes curl#21651
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

3 participants