🔍 CVE-2026-89422

0.0
CVSS Score
UNKNOWN
2026-09-22
2026-09-22 19:09
✅ 완료

🇰🇷 한글 설명

Erlang/OTP ssl 라이브러리의 TLS 1.3 구현 결함으로 인해, 클라이언트가 요청하지 않은 pre_shared_key 확장이 포함된 ServerHello를 받을 경우 인증 과정을 건너뛰게 됩니다. 이로 인해 공격자가 인증서나 개인키 없이도 서버를 사칭하여 클라이언트와 보안 연결을 수립할 수 있습니다.

💡 쉬운 설명

인터넷 연결 시 상대방이 진짜인지 확인하는 과정이 생략되는 보안 구멍이 발견되었습니다. 해커가 가짜 서버를 만들어도 컴퓨터가 이를 진짜 서버로 착각하고 중요한 정보를 넘겨줄 수 있습니다.

🇺🇸 원문 (English)

Key Exchange without Entity Authentication vulnerability in Erlang/OTP ssl allows a peer that answers a TLS 1.3 client connection to impersonate the intended server. A pre_shared_key extension in the ServerHello that the client never offered causes the client to complete the handshake without validating the server's certificate, so ssl:connect returns {ok, Socket} against a peer holding no certificate, no private key and no prior session. tls_client_connection_1_3:handle_server_hello/2 passes the received extension to tls_gen_connection_1_3:handle_resumption/2, which sets resumption = true on its mere presence without checking that the client offered a PSK. tls_handshake_1_3:get_pre_shared_key/4 meanwhile falls back to the all-zero "no PSK" value and keys the handshake with the ordinary non-PSK schedule, so the attacker's own ephemeral key suffices. The resumption flag then routes maybe_resumption/1 straight to wait_finished, skipping the certificate-handling states, so certificate path validation, verify_fun, hostname verification, partial_chain, CRL checking and OCSP stapling are all bypassed. The default client configuration is affected; clients restricted to TLS 1.2 are not. This issue affects OTP from OTP 22.2 before OTP 27.3.4.18, OTP 28.5.0.7, and OTP 29.1.1, corresponding to ssl from 9.5 before 11.2.12.13, 11.6.0.6, and 11.7.7.

📍 영향받는 시스템

OTP 22.2 < 27.3.4.18, 28.5.0.7, 29.1.1 및 ssl 9.5 < 11.2.12.13, 11.6.0.6, 11.7.7

⚔️ 공격 벡터

TLS 1.3 연결 시 클라이언트가 제안하지 않은 PSK 확장을 포함한 ServerHello를 전송하여 인증 및 인증서 검증 과정을 우회함

🛡️ 대응 방법

Erlang/OTP 및 ssl 라이브러리를 보안 패치가 적용된 최신 버전(OTP 27.3.4.18, 28.5.0.7, 29.1.1 이상)으로 업데이트하십시오.

🔧 검증 코드

출력된 ssl 라이브러리 버전이 취약점이 해결된 패치 버전 이상인지 확인하십시오.

Shell / Script
erl -eval 'io:format("~s~n", [application:get_version(ssl)]), halt().' -noshell

💻 영향받는 소프트웨어

Microsoft Exchange Server