🇰🇷 한글 설명
Adminer 6.0.0 및 6.0.1 버전에서 ClickHouse 드라이버 플러그인을 사용할 때 인증되지 않은 공격자가 서버 측 요청 위조(SSRF)를 수행할 수 있습니다. 공격자가 임의의 URL을 서버로 요청하게 만들면, 내부 서비스의 응답 본문이 로그인 페이지에 노출되어 내부 네트워크 정보 및 민감한 데이터가 유출될 수 있습니다.
💡 쉬운 설명
해커가 관리 도구를 이용해 서버 내부의 다른 컴퓨터나 서비스에 몰래 접근하여 정보를 훔쳐볼 수 있는 취약점입니다. 이를 통해 회사 내부의 비밀스러운 정보나 시스템 구조가 외부로 드러날 위험이 있습니다.
🇺🇸 원문 (English)
Adminer 6.0.0 through 6.0.1, when the official ClickHouse driver plugin (plugins/drivers/clickhouse.php, rewritten in 6.0.0) is loaded, is vulnerable to pre-authentication server-side request forgery. An unauthenticated attacker can submit auth[driver]=clickhouse with auth[server] set to an arbitrary URL (for example http://127.0.0.1:18089), causing the Adminer server to issue an HTTP POST containing 'SELECT version()' to that host. In rootQuery(), if the target returns a status outside 200-299 (other than 401/403), the raw HTTP response body is assigned to the connection error and rendered on the login page, so the attacker receives the full response body of the internal service. This enables internal network/port reconnaissance and disclosure of sensitive information contained in internal error pages (stack traces, internal hostnames, file paths, configuration identifiers). Fixed in Adminer 6.0.2.
📍 영향받는 시스템
Adminer 6.0.0 ~ 6.0.1 (ClickHouse 드라이버 플러그인 사용 시)
⚔️ 공격 벡터
인증되지 않은 상태에서 auth[driver]=clickhouse 및 임의의 auth[server] URL을 포함한 HTTP 요청 전송
🛡️ 대응 방법
Adminer를 최신 보안 패치가 적용된 6.0.2 버전 이상으로 업데이트하십시오.
🔧 검증 코드
Adminer 설치 경로의 버전을 확인하거나 웹 페이지 소스에서 버전 정보를 확인하여 6.0.2 미만인지 점검합니다.
php -r "echo 'Adminer version check required';" && curl -s http://<target-adminer-url>/ | grep -i 'Adminer'