🇰🇷 한글 설명
OpenSSL HTTP 클라이언트 API에서 no_proxy 환경 변수가 설정되고 IPv6 주소를 호스트로 사용할 때 메모리 범위 초과 접근(out-of-bounds read)이 발생합니다. 이로 인해 애플리케이션이 크래시되어 서비스 거부(DoS) 상황이 발생할 수 있습니다.
💡 쉬운 설명
OpenSSL을 사용하는 프로그램에서 특정 네트워크 설정(no_proxy)과 IPv6 주소 조합을 사용할 때 프로그램이 잘못된 메모리에 접근하여 충돌합니다. 공격자가 악의적인 URL을 전달하고 사용자의 시스템에 no_proxy 설정이 있으면 이를 악용할 수 있습니다.
🇺🇸 원문 (English)
Issue summary: An application using the OpenSSL HTTP client API functions may
trigger an out-of-bounds read if the 'no_proxy' environment variable is set and
the host portion of the authority component of the HTTP URL is an IPv6 address.
Impact summary: An out-of-bounds read can trigger a crash which leads to
Denial of Service for an application.
The OpenSSL HTTP client API functions can be used directly by applications
but they are also used by the OCSP client functions and CMP (Certificate
Management Protocol) client implementation in OpenSSL. However the URLs used
by these implementations are unlikely to be controlled by an attacker.
In this vulnerable code the out of bounds read can only trigger a crash.
Furthermore the vulnerability requires an attacker-controlled URL to be
passed from an application to the OpenSSL function and the user has to have
a 'no_proxy' environment variable set. For the aforementioned reasons the
issue was assessed as Low severity.
The vulnerable code was introduced in the following patch releases:
3.0.16, 3.1.8, 3.2.4, 3.3.3, 3.4.0 and 3.5.0.
The FIPS modules in 3.5, 3.4, 3.3, 3.2, 3.1 and 3.0 are not affected by this
issue, as the HTTP client implementation is outside the OpenSSL FIPS module
boundary.
📍 영향받는 시스템
OpenSSL 3.0.16, 3.1.8, 3.2.4, 3.3.3, 3.4.0, 3.5.0
⚔️ 공격 벡터
공격자가 애플리케이션에 IPv6 호스트를 포함한 악의적인 URL을 전달하고, 대상 시스템에 no_proxy 환경 변수가 설정되어 있을 때 exploit 가능
🛡️ 대응 방법
OpenSSL을 최신 패치 버전으로 업그레이드 (3.0.17+, 3.1.9+, 3.2.5+, 3.3.4+, 3.4.1+, 3.5.1+)
🔧 검증 코드
설치된 OpenSSL 버전이 영향받는 버전 범위(3.0.16, 3.1.8, 3.2.4, 3.3.3, 3.4.0, 3.5.0) 내에 있으면 취약함
openssl version && apt-cache policy openssl 2>/dev/null | grep -E 'Installed|Candidate'