🇰🇷 한글 설명
phpMyAdmin 5.2.3 이하 버전에는 setup/validate.php에 setup 비활성화 가드가 없어 서버 측 요청 위조(SSRF) 취약점이 존재합니다. 인증되지 않은 공격자가 임의의 호스트와 포트를 지정해 외부 연결을 유발할 수 있습니다. 공격자는 반환되는 오류 메시지를 이용해 내부 포트를 탐지할 수 있습니다.
💡 쉬운 설명
phpMyAdmin의 설정 검증 페이지가 로그인 없이 접근 가능해, 외부인이 서버를 통해 다른 주소로 연결을 시도하게 만들 수 있습니다. 이를 통해 내부 네트워크의 열린 포트를 몰래 확인하는 데 악용될 수 있습니다.
🇺🇸 원문 (English)
phpMyAdmin through 5.2.3 contains a server-side request forgery vulnerability that allows unauthenticated attackers to trigger outbound connections via setup/validate.php, which lacks the setup-disabled guard. Attackers can POST attacker-chosen host and port values reaching Validator::testDBConnection() to open MySQL-protocol connections and probe internal ports using returned error messages.
📍 영향받는 시스템
phpMyAdmin 5.2.3 이하 버전 (setup 디렉터리가 활성화된 환경)
⚔️ 공격 벡터
인증 없이 setup/validate.php에 공격자가 지정한 host와 port 값을 POST로 전송하여 서버가 내부 MySQL 프로토콜 연결을 시도하도록 유도
🛡️ 대응 방법
phpMyAdmin을 5.2.4 이상으로 업그레이드하고, 설치 후 setup 디렉터리를 삭제하거나 접근을 차단
🔧 검증 코드
출력된 파일 경로가 있으면 해당 phpMyAdmin 설치에 취약한 validate.php가 존재하는 것이며, 출력이 없으면 해당 경로에서 취약 파일이 발견되지 않은 것입니다.
find / -path '*phpmyadmin*' -name 'validate.php' 2>/dev/null | xargs grep -l 'testDBConnection' 2>/dev/null