🇰🇷 한글 설명
MySQL의 --html 옵션 활성화 시 XSS 취약점으로, 데이터베이스 셀에 악의적인 스크립트를 삽입하여 클라이언트가 HTML 문서를 생성할 때 실행될 수 있습니다. 이를 통해 공격자는 임의의 웹 스크립트나 HTML을 주입할 수 있습니다.
💡 쉬운 설명
MySQL에서 HTML 출력 기능을 사용할 때, 데이터베이스에 악성 코드를 저장해두면 HTML로 변환될 때 자동으로 실행됩니다. 이로 인해 공격자가 사용자의 브라우저에서 임의의 스크립트를 실행할 수 있습니다.
🇺🇸 원문 (English)
Cross-site scripting (XSS) vulnerability in the command-line client in MySQL 5.0.26 through 5.0.45, and other versions including versions later than 5.0.45, when the --html option is enabled, allows attackers to inject arbitrary web script or HTML by placing it in a database cell, which might be accessed by this client when composing an HTML document. NOTE: as of 20081031, the issue has not been fixed in MySQL 5.0.67.
📍 영향받는 시스템
MySQL 5.0.26 ~ 5.0.67 (--html 옵션 사용 시)
⚔️ 공격 벡터
데이터베이스의 특정 셀에 악성 HTML/JavaScript를 저장 후, 클라이언트가 --html 옵션으로 쿼리 결과를 HTML로 변환할 때 자동 실행
🛡️ 대응 방법
MySQL을 5.0.67 이상의 패치 버전으로 업그레이드하거나 --html 옵션 사용 금지
🔧 검증 코드
출력된 버전이 5.0.26~5.0.67 사이면 취약함. 5.0.68 이상 또는 5.1+ 버전으로 업그레이드 필요.
mysql --version | grep -oE '5\.0\.[0-9]+' || echo 'MySQL not found'