🇰🇷 한글 설명
MySQL 5.1.48 이전 버전에서 데이터베이스 변경 권한을 가진 인증된 원격 사용자가 ALTER DATABASE 명령어에 특수 경로 문자열(#mysql50# 뒤에 ., .., ../ 등)을 포함하여 UPGRADE DATA DIRECTORY NAME 명령어를 실행할 때 서버 크래시 및 데이터베이스 손실을 유발할 수 있는 경로 이동 취약점입니다.
💡 쉬운 설명
이미 MySQL에 접속한 사용자가 특정 명령어를 악용해 MySQL 서버를 다운시키고 데이터를 손상시킬 수 있습니다. 공격자는 데이터베이스 관리 권한이 필요하므로 위험도는 낮습니다.
🇺🇸 원문 (English)
MySQL before 5.1.48 allows remote authenticated users with alter database privileges to cause a denial of service (server crash and database loss) via an ALTER DATABASE command with a #mysql50# string followed by a . (dot), .. (dot dot), ../ (dot dot slash) or similar sequence, and an UPGRADE DATA DIRECTORY NAME command, which causes MySQL to move certain directories to the server data directory.
📍 영향받는 시스템
MySQL 5.1.48 이전 버전
⚔️ 공격 벡터
ALTER DATABASE 명령어에서 #mysql50# 이후 경로 이동 문자열(., .., ../)을 조합하여 UPGRADE DATA DIRECTORY NAME 실행
🛡️ 대응 방법
MySQL을 5.1.48 이상 버전으로 업그레이드하고 데이터베이스 변경 권한을 최소 필요 사용자에게만 제한
🔧 검증 코드
취약 버전 패턴(5.0.x~5.1.47)이 감지되면 취약하며, 5.1.48 이상이면 안전합니다.
mysql --version 2>/dev/null | grep -oE '5\.[0-1]\.[0-4][0-7]' && echo '취약' || echo '안전'