dep-openssl/util
Mounir IDRASSI 3e4f7e7720 Reject unknown TLS 1.3 ServerHello extensions
TLS 1.3 does not permit clients to ignore unknown extensions in ServerHello
or HelloRetryRequest. Add a validation pass for these messages so fully
unknown extension types fail early with unsupported_extension.

Keep the existing ignore behavior for other extension contexts and leave
TLS 1.2 ServerHello processing unchanged. Add TLSProxy coverage for the
TLS 1.3 ServerHello case.

Correct the unknown-extension path in tls_collect_extensions(). Collection
still runs before the new TLS 1.3 validation, and verify_extension()
returns success with thisex == NULL for fully unknown extension types.
The previous idx calculation used invalid pointer arithmetic on NULL in
that path. Map unknown extensions explicitly outside the built-in extension
range instead, preserving the existing ignore semantics while avoiding
undefined behavior.

Update the truncated HRR ECH corruption vector to keep testing malformed
ECH length after the new unknown-extension validation. The old 0xdddd bytes
were only padding to preserve the replacement length, but they now trigger
the unknown-extension check before the ECH parser. Use a known HRR cookie
extension as padding so the test still reaches the intended
SSL_R_LENGTH_MISMATCH path.

Reviewed-by: Andrew Dinh <andrewd@openssl.org>
Reviewed-by: Daniel Kubec <kubec@openssl.foundation>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Thu Jul 23 15:55:09 2026
(Merged from https://github.com/openssl/openssl/pull/31086)
2026-07-23 17:55:07 +02:00
..
perl Reject unknown TLS 1.3 ServerHello extensions 2026-07-23 17:55:07 +02:00
platform_symbols Fix use of BCryptGenRandom 2026-07-01 11:14:10 +02:00
acvp-test.py util: add acvp-test util 2026-05-26 16:28:30 +02:00
add-depends.pl
analyze-contention-log.sh util/analyze-contention-log.sh: print status output to stderr 2025-08-07 11:02:51 -04:00
build.info Adds a new demo blocking QUIC server for use with the existing demo QUIC clients 2025-02-17 11:27:33 -05:00
c-compress-test.pl
cavs-to-evptest.pl
check-malloc-errs
check-news-changes.sh Copyright year updates 2026-03-10 14:37:52 +00:00
checkplatformsyms.pl util/checkplatformsyms.pl: do not hard-code "libcrypto-3-x64" library name 2026-04-03 17:41:40 +02:00
ck_errf.pl
copy.pl
ctags.sh Copyright year updates 2025-09-02 13:05:45 +00:00
dofile.pl
echo.pl
err-to-raise Clear util dir from engines 2025-12-04 07:32:18 -05:00
find-doc-nits util: remove find-doc-nits -o option and missing*111.txt files 2026-04-30 07:02:33 +00:00
find-unused-errs
fips-checksums.sh
fix-deprecation
fix-includes
fix-includes.sed md32_common.h is not a self contained header file 2026-05-06 13:35:24 +02:00
help.pl Copyright year updates 2025-09-02 13:05:45 +00:00
indent.pro Remove remaining RAND_DRBG. 2026-02-17 09:09:01 -05:00
lang-compress.pl
libcrypto.num Prepare a now opaque ASN1_STRING for the size_t rapture. 2026-07-18 15:00:57 +02:00
libssl.num Deprecate unit-test configure option and SSL_test_functions 2026-07-09 19:38:28 +02:00
lock-contention-graph.sh Add lock contention graph script to openssl 2025-10-27 15:47:28 -04:00
markdownlint.rb Disable buggy markdownlint rule MD032 2025-11-26 08:50:25 +11:00
merge-err-lines
missingcrypto-internal.txt
missingcrypto.txt Add documentation for NAME_CONSTRAINTS_check 2026-06-24 15:03:52 +02:00
missingmacro.txt Improve TLS handling of EC point formats 2026-07-10 11:21:28 +02:00
missingssl-internal.txt
missingssl.txt Harden SSL_set_session_ticket_ext and add docs 2026-05-18 09:27:54 +02:00
mk-fipsmodule-cnf.pl kdfs: implement key length check in X9.42 2024-09-30 20:03:49 +02:00
mkbuildinf.pl Copyright year updates 2025-03-12 13:35:59 +00:00
mkdef.pl Copyright year updates 2024-04-09 13:43:26 +02:00
mkdir-p.pl
mkerr.pl Copyright year updates 2026-03-10 14:37:52 +00:00
mkinstallvars.pl util/mkinstallvars.pl: Suppress more debug logs 2026-07-08 12:57:18 +02:00
mknum.pl
mkpod2html.pl
mkrc.pl
mktar.sh
mkwraps.pl mkwraps: resolve system (libc) functions via compiler include paths 2026-07-20 09:00:49 +02:00
opensslwrap.sh Clear util dir from engines 2025-12-04 07:32:18 -05:00
other-internal.syms
other.syms Improve TLS handling of EC point formats 2026-07-10 11:21:28 +02:00
providers.num
reformat-patches.sh util: add reformat-patches script 2025-12-19 08:02:47 -05:00
shlib_wrap.sh.in
su-filter.pl
update_abi_check.sh
valgrind.suppression test: update provider Valgrind suppression 2026-07-20 11:06:53 +02:00
withlibctx.pl
wrap.pl.in Fix unit tests when run under fuzz builds 2026-02-19 09:49:54 +01:00
write-man-symlinks