🇰🇷 한글 설명
MySQL 4.x (4.0.21 이전) 및 3.x (3.23.49 이전) 버전의 mysql_real_connect 함수에 존재하는 버퍼 오버플로우 취약점으로, 원격 DNS 서버가 과도한 주소 길이를 가진 DNS 응답을 전송하여 서비스 거부 및 임의 코드 실행을 유발할 수 있습니다.
💡 쉬운 설명
MySQL이 인터넷에서 받은 비정상적으로 큰 DNS 정보를 제대로 처리하지 못하면서 프로그램이 크래시되거나 해킹당할 수 있습니다. 원격의 악의적인 DNS 서버가 이를 악용하면 데이터베이스 시스템이 마비되거나 완전히 장악될 수 있습니다.
🇺🇸 원문 (English)
Buffer overflow in the mysql_real_connect function in MySQL 4.x before 4.0.21, and 3.x before 3.23.49, allows remote DNS servers to cause a denial of service and possibly execute arbitrary code via a DNS response with a large address length (h_length).
📍 영향받는 시스템
MySQL 4.0 ~ 4.0.20, MySQL 3.23 ~ 3.23.48
⚔️ 공격 벡터
원격 DNS 서버가 비정상적으로 큰 h_length 필드를 포함한 DNS 응답 전송
🛡️ 대응 방법
MySQL을 4.0.21 이상 또는 3.23.49 이상으로 업그레이드
🔧 검증 코드
버전 4.0.21 이상 또는 3.23.49 이상이면 'Patched' 출력, 그 이하면 'Vulnerable' 출력
mysql --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | awk -F. '{if(($1==4 && $3>=21) || ($1>4) || ($1==3 && $2==23 && $3>=49)) print "Patched"; else print "Vulnerable"}'