🔍 CVE-2026-2673

6.5
CVSS Score
MEDIUM
2026-03-13
2026-06-05 19:48
✅ 완료

🇰🇷 한글 설명

OpenSSL 3.5, 3.6의 TLS 1.3 서버에서 'DEFAULT' 키워드를 사용할 때 키 교환 그룹 협상 과정에 결함이 있어, 포스트-양자 암호화 그룹을 제대로 협상하지 못하는 문제입니다. 클라이언트가 예측하지 못한 키셰어만 전송하면 더 선호되는 보안 그룹을 지원하는 경우에도 서버가 Hello Retry Request를 보내지 않아 협상에 실패합니다.

💡 쉬운 설명

OpenSSL 보안 연결에서 최신 보안 방식(양자 내성 암호화)을 협상해야 할 때 협상에 실패하는 문제입니다. 결과적으로 더 약한 기존 암호화 방식이 사용될 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

OpenSSL 3.5.x (3.5.6 미만), OpenSSL 3.6.x (3.6.2 미만)

⚔️ 공격 벡터

클라이언트가 포스트-양자 그룹을 포함하지 않은 초기 keyshare를 전송할 때, 서버가 Hello Retry Request를 보내지 않아 상호 지원하는 더 선호된 그룹 협상 실패

🛡️ 대응 방법

OpenSSL 3.5를 3.5.6 이상으로, OpenSSL 3.6을 3.6.2 이상으로 업그레이드

🔧 검증 코드

OpenSSL 버전이 3.5.6 미만 또는 3.6.2 미만이면 해당 버전에 취약함. 3.4 이하 또는 1.x 버전은 영향 없음

Shell / Script
openssl version | grep -oE '3\.[56]\.[0-9]+'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L

💻 영향받는 소프트웨어

OpenSSL