🇰🇷 한글 설명
hap-wi/roxy-wi 웹 인터페이스에서 경로 탐색(Path Traversal) 취약점이 발견되었습니다. 공격자가 config_file_name 파라미터를 조작하여 서버 프로세스가 접근 가능한 임의의 파일을 읽을 수 있습니다. 이는 get_config 함수가 상대 경로만 검사하고 절대 경로를 차단하지 못해 발생합니다.
💡 쉬운 설명
웹 관리 도구의 허점을 이용해 서버 안에 있는 중요한 파일을 몰래 훔쳐볼 수 있는 문제입니다. 공격자가 파일 경로를 교묘하게 입력하면 시스템의 비밀 정보를 읽어낼 수 있습니다.
🇺🇸 원문 (English)
hap-wi/roxy-wi is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. A Path Traversal vulnerability was found in the current version of Roxy-WI (6.3.9.0 at the moment of writing this report). The vulnerability can be exploited via an HTTP request to /app/options.py and the config_file_name parameter. Successful exploitation of this vulnerability could allow an attacker with user level privileges to obtain the content of arbitrary files on the file server within the scope of what the server process has access to. The root-cause of the vulnerability lies in the get_config function of the /app/modules/config/config.py file, which only checks for relative path traversal, but still allows to read files from absolute locations passed via the config_file_name parameter.
📍 영향받는 시스템
Roxy-WI 버전 6.3.9.0 및 이전 버전
⚔️ 공격 벡터
/app/options.py 경로의 config_file_name 파라미터에 조작된 절대 경로를 전달하는 HTTP 요청
🛡️ 대응 방법
최신 보안 패치가 적용된 버전으로 업데이트하거나, 입력값 검증 로직을 수정하여 절대 경로 접근을 차단해야 합니다.
🔧 검증 코드
명령어 실행 결과 'Vulnerable'이 출력되면 시스템 파일(/etc/passwd)에 접근이 가능한 취약한 상태입니다.
curl -s http://<target_ip>/app/options.py?config_file_name=/etc/passwd | grep -q 'root:' && echo 'Vulnerable' || echo 'Not Vulnerable'