🇰🇷 한글 설명
OpenSSL의 X509_issuer_and_serial_hash() 함수가 악의적으로 구성된 발행자(issuer) 필드를 파싱할 때 오류를 적절히 처리하지 못하는 취약점입니다. 이로 인해 NULL 포인터 역참조가 발생하여 프로그램이 충돌할 수 있으며, 결과적으로 서비스 거부(DoS) 공격으로 이어질 수 있습니다.
💡 쉬운 설명
인증서의 특정 정보를 읽는 과정에서 잘못된 데이터가 들어오면 프로그램이 갑자기 멈춰버리는 문제입니다. 공격자가 조작된 인증서를 보내 시스템을 마비시킬 수 있습니다.
🇺🇸 원문 (English)
The OpenSSL public API function X509_issuer_and_serial_hash() attempts to create a unique hash value based on the issuer and serial number data contained within an X509 certificate. However it fails to correctly handle any errors that may occur while parsing the issuer field (which might occur if the issuer field is maliciously constructed). This may subsequently result in a NULL pointer deref and a crash leading to a potential denial of service attack. The function X509_issuer_and_serial_hash() is never directly called by OpenSSL itself so applications are only vulnerable if they use this function directly and they use it on certificates that may have been obtained from untrusted sources. OpenSSL versions 1.1.1i and below are affected by this issue. Users of these versions should upgrade to OpenSSL 1.1.1j. OpenSSL versions 1.0.2x and below are affected by this issue. However OpenSSL 1.0.2 is out of support and no longer receiving public updates. Premium support customers of OpenSSL 1.0.2 should upgrade to 1.0.2y. Other users should upgrade to 1.1.1j. Fixed in OpenSSL 1.1.1j (Affected 1.1.1-1.1.1i). Fixed in OpenSSL 1.0.2y (Affected 1.0.2-1.0.2x).
📍 영향받는 시스템
OpenSSL 1.1.1i 이하 버전 및 1.0.2x 이하 버전
⚔️ 공격 벡터
신뢰할 수 없는 출처로부터 조작된 발행자 필드를 포함한 X509 인증서를 전달하여 함수 호출 유도
🛡️ 대응 방법
OpenSSL을 1.1.1j 이상 또는 1.0.2y 이상 버전으로 업그레이드
🔧 검증 코드
출력된 버전이 1.1.1j 미만인지 또는 1.0.2y 미만인지 확인하여 취약 여부 판단