🇰🇷 한글 설명
MySQL 여러 버전에서 ALTER TABLE RENAME 명령 실행 시, 대상 테이블의 권한이 아닌 원본 테이블의 CREATE/INSERT 권한만 검증하는 버그입니다. 이로 인해 공격자가 불충분한 권한으로도 테이블 이름 변경을 통해 무단 작업을 수행할 수 있습니다.
💡 쉬운 설명
MySQL에서 테이블 이름을 바꿀 때, 실제로 필요한 권한을 제대로 확인하지 않는 문제입니다. 권한이 없는 사용자도 테이블을 임의로 조작할 수 있게 됩니다.
🇺🇸 원문 (English)
MySQL 3.x before 3.23.59, 4.x before 4.0.19, 4.1.x before 4.1.2, and 5.x before 5.0.1, checks the CREATE/INSERT rights of the original table instead of the target table in an ALTER TABLE RENAME operation, which could allow attackers to conduct unauthorized activities.
📍 영향받는 시스템
MySQL 3.x (3.23.59 이전), 4.x (4.0.19 이전), 4.1.x (4.1.2 이전), 5.x (5.0.1 이전)
⚔️ 공격 벡터
낮은 권한의 사용자가 ALTER TABLE RENAME으로 접근 권한이 없는 테이블을 조작할 수 있습니다.
🛡️ 대응 방법
영향받는 MySQL 버전을 패치된 버전으로 즉시 업그레이드해야 합니다.
🔧 검증 코드
MySQL 버전을 확인하여 3.23.59, 4.0.19, 4.1.2, 5.0.1 이상인지 검증합니다. 이하 버전이면 패치 필요합니다.
mysql --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'