OpenSSL Security Advisory

"'Tomas Mraz' via openssl-project" <[email protected]> Fri, 13 Mar 2026 14:23:15 +0100
Newsgroups gmane.comp.encryption.openssl.project,gmane.comp.encryption.openssl.user
Message-ID <10107223b33073994e235de61f20bde963d8fe0b.camel@openssl.foundation>
OpenSSL Security Advisory [13th March 2026]
===========================================

OpenSSL TLS 1.3 server may choose unexpected key agreement group (CVE-2026-2673)
================================================================================

Severity: Low

Issue summary: An OpenSSL TLS 1.3 server may fail to negotiate the expected
preferred key exchange group when its key exchange group configuration includes
the default by using the "DEFAULT" keyword.

Impact summary: A less preferred key exchange may be used even when a more
preferred group is supported by both client and server, if the group
was not included among the client's initial predicated keyshares.
This will sometimes be the case with the new hybrid post-quantum groups,
if the client chooses to defer their use until specifically requested by
the server.

If an OpenSSL TLS 1.3 server's configuration uses the "DEFAULT" keyword to
interpolate the built-in default group list into its own configuration, perhaps
adding or removing specific elements, then an implementation defect causes the
"DEFAULT" list to lose its "tuple" structure, and all server-supported groups
were treated as a single sufficiently secure "tuple", with the server not
sending a Hello Retry Request (HRR) even when a group in a more preferred tuple
was mutually supported.

As a result, the client and server might fail to negotiate a mutually supported
post-quantum key agreement group, such as "X25519MLKEM768", if the client's
configuration results in only "classical" groups (such as "X25519" being the
only ones in the client's initial keyshare prediction).

OpenSSL 3.5 and later support a new syntax for selecting the most preferred TLS
1.3 key agreement group on TLS servers.  The old syntax had a single "flat"
list of groups, and treated all the supported groups as sufficiently secure.
If any of the keyshares predicted by the client were supported by the server
the most preferred among these was selected, even if other groups supported by
the client, but not included in the list of predicted keyshares would have been
more preferred, if included.

The new syntax partitions the groups into distinct "tuples" of roughly
equivalent security.  Within each tuple the most preferred group included among
the client's predicted keyshares is chosen, but if the client supports a group
from a more preferred tuple, but did not predict any corresponding keyshares,
the server will ask the client to retry the ClientHello (by issuing a Hello
Retry Request or HRR) with the most preferred mutually supported group.

The above works as expected when the server's configuration uses the built-in
default group list, or explicitly defines its own list by directly defining the
various desired groups and group "tuples".

No OpenSSL FIPS modules are affected by this issue, the code in question lies
outside the FIPS boundary.

OpenSSL 3.6 and 3.5 are vulnerable to this issue.

OpenSSL 3.6 users should upgrade to OpenSSL 3.6.2 once it is released.
OpenSSL 3.5 users should upgrade to OpenSSL 3.5.6 once it is released.

OpenSSL 3.4, 3.3, 3.0, 1.0.2 and 1.1.1 are not affected by this issue.

Due to the low severity of this issue we are not issuing new releases of
OpenSSL at this time. The fix will be included in the next release of 3.6
and 3.5 branches, once it becomes available. The fix is also available in commit
2157c9d8 (for 3.6) and commit 85977e01 (for 3.5) in the OpenSSL git repository.

This issue was internally reported on the 16th of February 2026 by Viktor
Dukhovni.  The fix was developed by Viktor Dukhovni.

General Advisory Notes
======================

URL for this Security Advisory:
https://openssl-library.org/news/secadv/20260313.txt

Note: the online version of the advisory may be updated with additional details
over time.

For details of OpenSSL severity classifications please see:
https://openssl-library.org/policies/general/security-policy/

-- 
You received this message because you are subscribed to the Google Groups "openssl-project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion visit https://groups.google.com/a/openssl.org/d/msgid/openssl-project/10107223b33073994e235de61f20bde963d8fe0b.camel%40openssl.foundation.
signature.asc (application/pgp-signature, 870 B)
-----BEGIN PGP SIGNATURE-----

iQJNBAABCgA3FiEE3HAyZir4heL0fyQ/UnRmohynnm0FAmm0D8MZHHRvbWFzQG9w
ZW5zc2wuZm91bmRhdGlvbgAKCRBSdGaiHKeebd31D/413jyjIuS3oAY8HlWFAo08
gHQ6SsvlHlMV2cXCG2C0dBFXKWXO3DU1fd4ldMXYI3LEUuKREUs6NOH9emB91LuD
6kx/VXV7f8RqWuSN/68bRSUJ8X0LAZoh60N7K9DMt0uM1DuRhRsWLktYUX2XtfEN
NmtRSBq/PEcWYRJ+7zWVKsVAK4+LE0WqEhA788vA/iIQt+06TtASgzmT05nBXuwc
oQJaSc3XR6e7zJvAa1L6YXieyQlAGgZGgnCkqnnhycuRK2jTKBduydIgh+DgQ+hj
oUQaHzFL7/NDJ0ylYiox5vxU3aL5B9x8DIMnj5bfE5X5zPHehxhbrzSr7ZzfMymw
PsYN58XC1v7O0pyXvUPRsCQHaO4FbqkVIwcoSQCI7eSX1KK0OvVaiS4tDKx29W2F
DYfiYLvwkWO6XcxpsFlkzVZXHCmcLK8Ke2yX86zEL44SG7Ta5pR8Q7SDn74MpNTW
Md9nxRdv1eVrMkriJQBfna0zpJRMuuu1nVZcRN8DSVyMLPfT/Gh9j7zoCeN21sAK
0IyIIjyf4Vl36qj6RlZVIhQxBW6czjXdqdrRbTiDiVvjKb7/CxLp28kQ1tfVD8z3
QzSxf1SzAo9DEjvTpF9pnAV/yrrCX4q5+6C1WfJxYgh3CaqBVCVL+mCVgQQh2AIZ
mPldKR6+YtPi7rk97C23lQ==
=dCjG
-----END PGP SIGNATURE-----