]> git.ipfire.org Git - thirdparty/openssl.git/commit
Fix DTLS handling when receiving a no_renegotiation alert
authorMatt Caswell <matt@openssl.org>
Fri, 9 May 2025 08:58:15 +0000 (09:58 +0100)
committerTomas Mraz <tomas@openssl.org>
Wed, 4 Jun 2025 15:21:16 +0000 (17:21 +0200)
commite5feca0659ef6119f6cedfab1b6af034735723ff
tree915e1ecf164653f2593fd1775aa026cb3c900c5b
parent83fa1b8b94d97371809cf23fb9a384a22581f3e4
Fix DTLS handling when receiving a no_renegotiation alert

no_renegotiation is a warning alert sent from the server when it is not
prepared to accept a renegotiation attempt. In TLS we abort the connection
when we receive one of these - which is a reasonable response. However,
in DTLS we incorrectly ignore this and keep trying to renegotiate.

We bring the DTLS handling of a no_renegotiation alert into line with
how TLS handles this. In versions prior to 3.2 handling of a warning
alert in DTLS was mishandled resulting in a failure of the connection,
which ends up being the right thing to do "by accident" in the case of
"no_renegotiation". From 3.2 this mishandling was fixed, but exposed this
latent bug.

Fixes #27419

Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/27591)
ssl/record/rec_layer_d1.c
ssl/record/rec_layer_s3.c