🇰🇷 한글 설명
OpenSSL 1.0.1f 이전 버전의 ssl3_take_mac 함수에서 TLS 핸드셰이크 중 Next Protocol Negotiation 레코드 처리 시 NULL 포인터 역참조 취약점이 발생합니다. 원격 공격자가 악의적인 NPN 레코드를 전송하여 애플리케이션의 강제 종료를 유발할 수 있습니다.
💡 쉬운 설명
OpenSSL의 보안 통신 프로토콜에서 특정 메시지를 받을 때 프로그램이 잘못된 메모리 위치에 접근하여 충돌합니다. 원격 서버에서 특수한 메시지를 보내면 그 서버에 연결된 클라이언트 프로그램이 강제로 종료될 수 있습니다.
🇺🇸 원문 (English)
The ssl3_take_mac function in ssl/s3_both.c in OpenSSL 1.0.1 before 1.0.1f allows remote TLS servers to cause a denial of service (NULL pointer dereference and application crash) via a crafted Next Protocol Negotiation record in a TLS handshake.
📍 영향받는 시스템
OpenSSL 1.0.1 ~ 1.0.1e (1.0.1f 이상은 패치됨)
⚔️ 공격 벡터
TLS 핸드셰이크 중 악의적인 NPN(Next Protocol Negotiation) 레코드를 전송하는 원격 공격
🛡️ 대응 방법
OpenSSL을 1.0.1f 이상으로 업데이트
🔧 검증 코드
실행 결과에서 'vulnerable'이 표시되면 1.0.1f 이전 버전(취약점 존재), 'safe or unknown'이 표시되면 패치 버전 이상 또는 다른 버전입니다.
openssl version | grep -oP '(?<=OpenSSL )\d+\.\d+\.\d+[a-z]?' | awk -F. '{if ($2==0 && $3==1 && ($4=="" || $4=="a" || $4=="b" || $4=="c" || $4=="d" || $4=="e")) print "vulnerable"; else print "safe or unknown"}'