🇰🇷 한글 설명
OpenSSL 0.9.8n 이전 버전의 kssl_keytab_is_available 함수에서 Kerberos 설정 파일을 열 수 없을 때 반환값을 제대로 확인하지 않아 발생하는 취약점입니다. SSL 암호 협상 과정에서 NULL 포인터 역참조가 발생하여 Kerberos 설정 파일 없이 chroot로 설치된 Dovecot이나 stunnel과 같은 데몬이 충돌할 수 있습니다.
💡 쉬운 설명
OpenSSL에서 Kerberos 설정이 제대로 로드되지 않을 때 프로그램이 잘못된 메모리에 접근하여 충돌하는 문제입니다. 공격자가 특정 방식으로 SSL 연결을 시도하면 웹 서버나 메일 서버가 작동을 멈출 수 있습니다.
🇺🇸 원문 (English)
The kssl_keytab_is_available function in ssl/kssl.c in OpenSSL before 0.9.8n, when Kerberos is enabled but Kerberos configuration files cannot be opened, does not check a certain return value, which allows remote attackers to cause a denial of service (NULL pointer dereference and daemon crash) via SSL cipher negotiation, as demonstrated by a chroot installation of Dovecot or stunnel without Kerberos configuration files inside the chroot.
📍 영향받는 시스템
OpenSSL < 0.9.8n (특히 Kerberos 활성화되고 chroot 환경인 경우: Dovecot, stunnel)
⚔️ 공격 벡터
SSL/TLS 암호 협상 단계에서 악의적인 클라이언트가 연결을 시도하여 Kerberos 설정 부재 상황 악용
🛡️ 대응 방법
OpenSSL을 0.9.8n 이상으로 업그레이드하거나 chroot 환경에 Kerberos 설정 파일 포함
🔧 검증 코드
VULNERABLE이 출력되면 패치되지 않은 버전이며, PATCHED가 출력되면 안전한 버전입니다.
openssl version | grep -E '(0\.9\.[0-7]|0\.9\.8[a-m])[^0-9]' && echo 'VULNERABLE' || echo 'PATCHED'