🇰🇷 한글 설명
MySQL 4.0.0~5.0.83의 dispatch_command 함수에서 format string 취약점으로, 인증된 사용자가 COM_CREATE_DB 또는 COM_DROP_DB 요청 시 데이터베이스 이름에 format string specifiers를 주입하여 서버 크래시를 야기할 수 있습니다. 서비스 거부뿐만 아니라 추가적인 미지정 영향을 초래할 수 있습니다.
💡 쉬운 설명
로그인한 사용자가 특수한 문자를 데이터베이스 이름에 포함시켜 MySQL 서버를 강제로 중단시킬 수 있는 버그입니다. 이를 통해 모든 사용자가 데이터베이스를 사용할 수 없게 만드는 공격이 가능합니다.
🇺🇸 원문 (English)
Multiple format string vulnerabilities in the dispatch_command function in libmysqld/sql_parse.cc in mysqld in MySQL 4.0.0 through 5.0.83 allow remote authenticated users to cause a denial of service (daemon crash) and possibly have unspecified other impact via format string specifiers in a database name in a (1) COM_CREATE_DB or (2) COM_DROP_DB request. NOTE: some of these details are obtained from third party information.
📍 영향받는 시스템
MySQL 4.0.0 이상 5.0.83 이하
⚔️ 공격 벡터
인증된 사용자가 CREATE DATABASE 또는 DROP DATABASE 명령에서 %x, %s 등 format string specifiers를 데이터베이스 이름에 포함시킴
🛡️ 대응 방법
MySQL을 5.0.84 이상, 5.1.36 이상, 또는 6.0.25 이상으로 업그레이드
🔧 검증 코드
MySQL 버전이 5.0.84 미만이면 취약함. 5.0.84 이상 또는 5.1.36 이상의 버전이 설치되어 있으면 패치된 상태
mysql --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' || dpkg -l | grep mysql-server | awk '{print $3}'