🇰🇷 한글 설명
MySQL 5.0.40 이전 5.0.x 및 5.1.18 이전 5.1.x의 mysql_change_db 함수에서 SQL SECURITY INVOKER 저장 프로시저 실행 후 THD::db_access 권한이 제대로 복원되지 않는 취약점입니다. 이를 통해 인증된 원격 사용자가 의도하지 않은 데이터베이스 접근 권한을 얻을 수 있습니다.
💡 쉬운 설명
MySQL에서 저장된 프로시저를 실행한 후 사용자의 데이터베이스 접근 권한이 제대로 원래대로 돌아오지 않는 문제입니다. 이를 악용하면 로그인한 사용자가 더 높은 권한으로 데이터에 접근할 수 있습니다.
🇺🇸 원문 (English)
The mysql_change_db function in MySQL 5.0.x before 5.0.40 and 5.1.x before 5.1.18 does not restore THD::db_access privileges when returning from SQL SECURITY INVOKER stored routines, which allows remote authenticated users to gain privileges.
📍 영향받는 시스템
MySQL 5.0.x (5.0.40 미만), MySQL 5.1.x (5.1.18 미만)
⚔️ 공격 벡터
인증된 사용자가 SQL SECURITY INVOKER 옵션으로 작성된 저장 프로시저를 호출하여 권한 상승
🛡️ 대응 방법
MySQL을 5.0.40 이상 또는 5.1.18 이상으로 업그레이드
🔧 검증 코드
VULNERABLE이 출력되면 해당 버전이 취약점에 영향받음을 의미합니다.
mysql --version | grep -oE '5\.[01]\.[0-9]+' | awk -F. '{if($2==0 && $3<40 || $2==1 && $3<18) print "VULNERABLE"}'