openssl/ssl
Neil Horman 8f74d8cee3 If our server channel creates its own qrx, set its initial secret
With the addition of larger client hellos, stemming from the use of
larger PQC key shares, it may happen that we get a client hello accross
multiple datagrams. Normally this is not a problem as
port_default_packet_handler allocates a qrx and initializes its initial
secret immediately.  But if server address validation is disabled, then
the channel creates the qrx in port_bind_channel itself, without initial
secrets.  As a result, we validate the first datagram in
port_default_packet_handler, but the subsequent datagrams containing the
remaining client hello fragments fail decode.

Fix it by ensuring that we add the initial secret in port_bind_channel
if we don't give it a preconfigured qrx

Fixes openssl/project#1131

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/27006)
2025-03-07 21:56:34 -05:00
..
quic If our server channel creates its own qrx, set its initial secret 2025-03-07 21:56:34 -05:00
record tls_validate_record_header(): Check for all HTTP methods 2025-03-05 14:58:29 +01:00
rio Fix build on windows xp 2025-03-05 17:36:20 +01:00
statem tls_construct_ctos_key_share(): Fix handling of HRR without key share request 2025-02-25 15:34:24 +01:00
bio_ssl.c Adds missing checks of return from XXX_up_ref(). 2025-02-18 16:32:59 +01:00
build.info Move ssl_err.c into libcrypto 2025-03-01 14:46:03 -05:00
d1_lib.c libssl: Move SSL object unwrapping macros to separate header 2025-02-17 11:27:32 -05:00
d1_msg.c libssl: Move SSL object unwrapping macros to separate header 2025-02-17 11:27:32 -05:00
d1_srtp.c libssl: Move SSL object unwrapping macros to separate header 2025-02-17 11:27:32 -05:00
methods.c Update some inclusions of <openssl/macros.h> 2019-11-07 11:37:25 +01:00
pqueue.c Stop raising ERR_R_MALLOC_FAILURE in most places 2022-10-05 14:02:03 +02:00
priority_queue.c Copyright year updates 2024-09-05 09:35:49 +02:00
s3_enc.c libssl: Move SSL object unwrapping macros to separate header 2025-02-17 11:27:32 -05:00
s3_lib.c ssl3_ctrl(): Fix condition in SSL_CTRL_GET_PEER_SIGNATURE_NAME 2025-02-19 17:23:04 +01:00
s3_msg.c libssl: Move SSL object unwrapping macros to separate header 2025-02-17 11:27:32 -05:00
ssl_asn1.c RFC7250 (RPK) support 2023-03-28 13:49:54 -04:00
ssl_cert.c add_uris_recursive(): Avoid OSSL_STORE_INFO leak on error 2025-02-25 15:50:45 +01:00
ssl_cert_comp.c Various NULL checks 2025-02-21 15:07:27 -05:00
ssl_cert_table.h Make ssl_cert_info read-only 2023-11-27 07:51:33 +00:00
ssl_ciph.c libssl: Move SSL object unwrapping macros to separate header 2025-02-17 11:27:32 -05:00
ssl_conf.c libssl: Move SSL object unwrapping macros to separate header 2025-02-17 11:27:32 -05:00
ssl_err_legacy.c Move ssl_err.c into libcrypto 2025-03-01 14:46:03 -05:00
ssl_init.c Move ssl_err.c into libcrypto 2025-03-01 14:46:03 -05:00
ssl_lib.c Change cipher suite alert for 0 length cipher_suites 2025-02-25 15:31:45 -05:00
ssl_local.h Add hybrid ML-KEM based groups to default TLS groups 2025-02-25 15:34:23 +01:00
ssl_mcnf.c Copyright year updates 2024-09-05 09:35:49 +02:00
ssl_rsa.c Adds missing checks of return from XXX_up_ref(). 2025-02-18 16:32:59 +01:00
ssl_rsa_legacy.c Adds missing checks of return from XXX_up_ref(). 2025-02-18 16:32:59 +01:00
ssl_sess.c Adds missing checks of return from XXX_up_ref(). 2025-02-18 16:32:59 +01:00
ssl_stat.c libssl: Move SSL object unwrapping macros to separate header 2025-02-17 11:27:32 -05:00
ssl_txt.c Copyright year updates 2024-09-05 09:35:49 +02:00
ssl_utst.c Remove the old buffer management code 2022-10-20 14:39:33 +01:00
t1_enc.c libssl: Move SSL object unwrapping macros to separate header 2025-02-17 11:27:32 -05:00
t1_lib.c tls1_set_groups_list(): Update raised errors 2025-02-25 15:34:24 +01:00
t1_trce.c Minor updates 2025-02-17 11:27:32 -05:00
tls13_enc.c libssl: Move SSL object unwrapping macros to separate header 2025-02-17 11:27:32 -05:00
tls_depr.c libssl: Move SSL object unwrapping macros to separate header 2025-02-17 11:27:32 -05:00
tls_srp.c libssl: Move SSL object unwrapping macros to separate header 2025-02-17 11:27:32 -05:00