🇰🇷 한글 설명
Roxy-WI의 /smon/agent 경로에서 서버 IP를 검증하지 않고 그대로 URL에 포함시켜 SSRF 취약점이 발생합니다. 공격자는 169.254.169.254와 같은 내부 메타데이터 주소나 사설망 주소를 지정하여 내부 시스템에 접근할 수 있습니다.
💡 쉬운 설명
Roxy-WI 프로그램이 서버 주소를 확인할 때 허점을 이용해 공격자가 내부 네트워크에 숨겨진 정보를 빼낼 수 있습니다. 이는 웹 인터페이스를 통해 악의적인 내부 주소로 요청을 보내는 방식으로 발생합니다.
🇺🇸 원문 (English)
Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. In versions 8.2.6.4 and prior, the /smon/agent/{version,uptime,status,checks}/<server_ip> family of routes takes the URL path component verbatim into requests.get(f'http://{server_ip}:{agent_port}/...'). The path component is constrained only by Flask's default URL converter, which permits any value (including IPv4 literals like 169.254.169.254, RFC1918 ranges, and 127.0.0.1). At time of publication, there are no publicly available patches.
📍 영향받는 시스템
Roxy-WI version 8.2.6.4 and prior
⚔️ 공격 벡터
URL 경로에 악의적인 내부 IP 주소를 삽입하여 서버 측 요청 위조(SSRF) 공격 수행
🛡️ 대응 방법
공급사에서 제공하는 패치가 출시되면 즉시 업데이트하고, 현재는 입력값 검증 로직을 강화하여 내부 IP 접근을 차단해야 합니다.
🔧 검증 코드
출력된 버전 번호가 8.2.6.4 이하이거나 해당 패키지가 설치되지 않은 경우 취약점 존재 여부를 확인합니다.
dpkg -l roxy-wi 2>/dev/null | grep -E 'roxy-wi' | awk '{print $3}'