🇰🇷 한글 설명
phpMyAdmin 5.2.3 이하 버전의 Designer saveSetting() 기능에는 SQL 인젝션 취약점이 존재합니다. 인증된 사용자가 이스케이프되지 않은 json_encode() 출력을 통해 SQL을 주입할 수 있습니다. 이를 통해 다른 사용자의 Designer 설정을 덮어쓰거나 controluser 하위 쿼리를 실행할 수 있습니다.
💡 쉬운 설명
로그인한 사용자가 특수하게 조작된 요청으로 데이터베이스 명령을 몰래 실행할 수 있는 취약점입니다. 다른 사용자의 설정을 변경하거나 내부 데이터베이스 권한을 악용할 수 있습니다.
🇺🇸 원문 (English)
phpMyAdmin through 5.2.3 contains an sql injection vulnerability in Designer saveSetting() that allows authenticated users to inject SQL via unescaped json_encode() output. Attackers can send crafted index or value parameters with operation=save_setting_value to /database/designer to overwrite other users' designer settings or run controluser subqueries.
📍 영향받는 시스템
phpMyAdmin 5.2.3 이하 버전 (Designer 기능 사용 환경)
⚔️ 공격 벡터
인증된 사용자가 operation=save_setting_value 요청에 조작된 index 또는 value 파라미터를 담아 /database/designer 경로로 전송
🛡️ 대응 방법
phpMyAdmin을 5.2.3 이후의 패치된 버전으로 업그레이드
🔧 검증 코드
출력된 버전이 5.2.3 이하이면 취약하며, 5.2.4 이상이면 패치된 버전입니다. 출력이 없으면 설치되지 않은 것입니다.
phpmyadmin -v 2>/dev/null || grep -m1 'PMA_VERSION' /usr/share/phpmyadmin/libraries/classes/Version.php 2>/dev/null || dpkg -l phpmyadmin 2>/dev/null | grep phpmyadmin