🇰🇷 한글 설명
Erlang의 crypto_drv.c에서 OpenSSL DSA_do_verify 함수의 반환 값을 적절히 검증하지 않아 발생하는 취약점으로, 공격자가 악의적인 SSL/TLS 서명을 통해 인증서 체인 검증을 우회할 수 있습니다.
💡 쉬운 설명
Erlang 암호화 라이브러리가 전자서명 검증을 제대로 하지 않아서, 가짜 인증서를 통한 공격이 가능합니다. 이를 통해 공격자는 보안 연결을 속여서 중간에서 통신을 가로챌 수 있습니다.
🇺🇸 원문 (English)
lib/crypto/c_src/crypto_drv.c in erlang does not properly check the return value from the OpenSSL DSA_do_verify function, which might allow remote attackers to bypass validation of the certificate chain via a malformed SSL/TLS signature, a similar vulnerability to CVE-2008-5077. NOTE: a package maintainer disputes this issue, reporting that there is a proper check within the only code that uses the applicable part of crypto_drv.c, and thus "this report is invalid.
📍 영향받는 시스템
Erlang/OTP 모든 버전 (패치 적용 전), 특히 SSL/TLS 기반 통신을 사용하는 시스템
⚔️ 공격 벡터
악의적으로 조작된 DSA 서명을 포함한 SSL/TLS 핸드셰이크를 통해 원격에서 인증서 체인 검증 우회
🛡️ 대응 방법
Erlang/OTP를 최신 패치 버전으로 업그레이드하여 DSA_do_verify 반환값 검증 로직 수정
🔧 검증 코드
Erlang 버전이 출력됩니다. CVE-2009-0130 패치가 적용된 버전 이상인지 확인하세요. 일반적으로 Erlang R13B 이상에서 수정되었습니다.
erl -eval 'erlang:system_info(otp_release)' -s init stop 2>/dev/null | grep -E '^R[0-9]|OTP'