]> git.kaiwu.me - haproxy.git/commit
BUG/MINOR: ssl: support SCTL in TLS 1.3 Certificate messages
authorWilliam Lallemand <wlallemand@haproxy.com>
Tue, 27 Oct 2026 15:13:40 +0000 (15:13 +0000)
committerWilliam Lallemand <wlallemand@haproxy.com>
Wed, 28 Oct 2026 13:55:51 +0000 (14:55 +0100)
commit0302a32017507852fd26d19876f416a3106e40bd
treec19c62f8bc756e914f86fd47dbb9810999265649
parent5a3a2c9be490d3891c7684b0e4bf37b351541ba7
BUG/MINOR: ssl: support SCTL in TLS 1.3 Certificate messages

SSL_CTX_add_server_custom_ext() only sends SCT lists in TLS 1.2 and earlier
ServerHello messages. Use SSL_CTX_add_custom_ext() on vanilla OpenSSL 1.1.1
and later to support TLS 1.3 Certificate messages as well. Retain the legacy
API for other libraries and older OpenSSL versions.

Send SCTs only on the leaf Certificate entry when requested by the client
and present for the selected certificate.

Keep SCT delivery disabled for QUIC: valgrind reports a use-after-free in
native OpenSSL 3.5.5 when SSL_set_SSL_CTX() merges transport parameters with
custom extensions. Also skip loading SCT lists into QUIC contexts,
including on AWS-LC.

Verified exact SCT payloads in TLS 1.2 and TLS 1.3 with a two-entry chain,
SNI isolation, omission without a client request, QUIC omission, and clean
config-check/deinit under valgrind.

This must be backported to all supported versions.
include/haproxy/openssl-compat.h
src/ssl_sock.c