🔍 CVE-2023-5678

5.3
CVSS Score
MEDIUM
2023-11-06
2026-10-14 22:17
✅ 완료

🇰🇷 한글 설명

OpenSSL의 X9.42 Diffie-Hellman 키 생성 및 검증 함수들이 과도하게 긴 키 또는 매개변수에 대해 매우 느린 처리 시간을 가지는 문제입니다. 신뢰할 수 없는 소스에서 제공된 키나 매개변수를 처리할 때 서비스 거부(DoS) 공격으로 악용될 수 있습니다.

💡 쉬운 설명

OpenSSL 라이브러리의 일부 함수들이 악의적으로 만들어진 매우 큰 암호 키를 처리할 때 극도로 느려져서 시스템이 응답하지 않게 됩니다. 신뢰할 수 없는 소스의 키를 검증할 때 공격에 악용될 수 있습니다.

🇺🇸 원문 (English)

Issue summary: Generating excessively long X9.42 DH keys or checking excessively long X9.42 DH keys or parameters may be very slow. Impact summary: Applications that use the functions DH_generate_key() to generate an X9.42 DH key may experience long delays. Likewise, applications that use DH_check_pub_key(), DH_check_pub_key_ex() or EVP_PKEY_public_check() to check an X9.42 DH key or X9.42 DH parameters may experience long delays. Where the key or parameters that are being checked have been obtained from an untrusted source this may lead to a Denial of Service. While DH_check() performs all the necessary checks (as of CVE-2023-3817), DH_check_pub_key() doesn't make any of these checks, and is therefore vulnerable for excessively large P and Q parameters. Likewise, while DH_generate_key() performs a check for an excessively large P, it doesn't check for an excessively large Q. An application that calls DH_generate_key() or DH_check_pub_key() and supplies a key or parameters obtained from an untrusted source could be vulnerable to a Denial of Service attack. DH_generate_key() and DH_check_pub_key() are also called by a number of other OpenSSL functions. An application calling any of those other functions may similarly be affected. The other functions affected by this are DH_check_pub_key_ex(), EVP_PKEY_public_check(), and EVP_PKEY_generate(). Also vulnerable are the OpenSSL pkey command line application when using the "-pubcheck" option, as well as the OpenSSL genpkey command line application. The OpenSSL SSL/TLS implementation is not affected by this issue. The OpenSSL 3.0 and 3.1 FIPS providers are not affected by this issue.

📍 영향받는 시스템

OpenSSL 3.0, 3.1 (FIPS 모드 제외); DH_generate_key, DH_check_pub_key, EVP_PKEY_public_check 함수를 사용하는 애플리케이션

⚔️ 공격 벡터

신뢰할 수 없는 소스로부터 과도하게 큰 P(소수) 또는 Q 매개변수를 포함한 X9.42 DH 키를 공급하여 처리 시간 지연 유발

🛡️ 대응 방법

OpenSSL을 최신 보안 패치 버전으로 업그레이드하고 신뢰할 수 없는 소스의 DH 키 매개변수에 대한 사전 검증 및 크기 제한 구현

🔧 검증 코드

OpenSSL 버전이 표시되며, DH 알고리즘이 지원되는지 확인합니다. CVE 패치 여부는 해당 버전의 릴리스 노트에서 확인 필요합니다.

Shell / Script
openssl version && openssl list -public-key-algorithms 2>/dev/null | grep -i dh

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

OpenSSL