🇰🇷 한글 설명
OpenSSL의 DTLS ClientHello 메시지 처리 함수(dtls1_reassemble_fragment)에서 fragment 길이 검증이 불충분하여 발생하는 취약점입니다. 원격 공격자가 조작된 길이의 fragment를 전송하면 버퍼 오버플로우가 발생하여 임의 코드 실행 또는 서비스 거부 공격이 가능합니다.
💡 쉬운 설명
OpenSSL에서 네트워크 통신 중 받은 데이터 조각(fragment)의 크기를 제대로 확인하지 않는 문제입니다. 공격자가 잘못된 크기의 데이터를 보내면 메모리 손상으로 인해 서버가 마비되거나 해킹될 수 있습니다.
🇺🇸 원문 (English)
The dtls1_reassemble_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly validate fragment lengths in DTLS ClientHello messages, which allows remote attackers to execute arbitrary code or cause a denial of service (buffer overflow and application crash) via a long non-initial fragment.
📍 영향받는 시스템
OpenSSL 0.9.8za 이전, 1.0.0m 이전, 1.0.1h 이전 버전
⚔️ 공격 벡터
원격 공격자가 조작된 길이의 DTLS ClientHello fragment를 전송하여 버퍼 오버플로우 유발
🛡️ 대응 방법
OpenSSL을 0.9.8za, 1.0.0m, 1.0.1h 이상으로 업그레이드
🔧 검증 코드
openssl version 명령어로 현재 설치된 버전을 확인하고, 취약 버전 범위에 해당하면 'Vulnerable' 출력, 아니면 'Patched' 출력됨
openssl version | grep -E '0\.9\.8[a-y]|1\.0\.0[a-l]|1\.0\.1[a-g]' && echo 'Vulnerable' || echo 'Patched or different version'