🇰🇷 한글 설명
MySQL 5.1.x, 5.5.x, 5.6.x와 MariaDB의 특정 버전에서 sql/password.c의 memcmp 함수 반환값 검증 오류로 인해, 동일한 잘못된 비밀번호로 반복 인증 시도 시 결국 인증 우회가 가능합니다. 특정 환경과 memcmp 함수 구현에 따라 토큰 비교 성공 확률이 높아집니다.
💡 쉬운 설명
MySQL의 비밀번호 확인 방식에 버그가 있어서 틀린 비밀번호를 계속 시도하면 운이 좋으면 들어갈 수 있습니다. 특정 시스템 환경에서만 발생하는 드물지만 심각한 인증 우회 취약점입니다.
🇺🇸 원문 (English)
sql/password.c in Oracle MySQL 5.1.x before 5.1.63, 5.5.x before 5.5.24, and 5.6.x before 5.6.6, and MariaDB 5.1.x before 5.1.62, 5.2.x before 5.2.12, 5.3.x before 5.3.6, and 5.5.x before 5.5.23, when running in certain environments with certain implementations of the memcmp function, allows remote attackers to bypass authentication by repeatedly authenticating with the same incorrect password, which eventually causes a token comparison to succeed due to an improperly-checked return value.
📍 영향받는 시스템
MySQL 5.1.x(5.1.63 이전), 5.5.x(5.5.24 이전), 5.6.x(5.6.6 이전), MariaDB 5.1.x(5.1.62 이전), 5.2.x(5.2.12 이전), 5.3.x(5.3.6 이전), 5.5.x(5.5.23 이전)
⚔️ 공격 벡터
원격 공격자가 동일한 잘못된 비밀번호로 반복적으로 인증 시도하여 memcmp 함수의 부실한 검증을 우회
🛡️ 대응 방법
MySQL을 5.1.63, 5.5.24, 5.6.6 이상으로, MariaDB를 5.1.62, 5.2.12, 5.3.6, 5.5.23 이상으로 즉시 업그레이드
🔧 검증 코드
반환된 버전이 5.1.63, 5.5.24, 5.6.6 이상이면 안전하고, 그 이하 버전이면 긴급 패치 필요
mysql --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'