🇰🇷 한글 설명
Nginx UI 2.3.4 이전 버전에서 인증된 사용자가 SSRF 취약점을 통해 임의의 내부 URL을 가리키는 클러스터 노드를 생성할 수 있습니다. X-Node-ID 헤더를 포함한 API 요청으로 Proxy 미들웨어가 공격자가 지정한 내부 주소로 요청을 전달하여 네트워크 세분화를 우회하고 localhost 또는 내부 네트워크 서비스에 접근 가능합니다.
💡 쉬운 설명
Nginx UI 웹 인터페이스에 로그인한 사용자가 특수한 요청을 보내 회사 내부의 숨겨진 서비스에 몰래 접근할 수 있습니다. 마치 서버가 직접 내부 시스템에 접근하도록 속여서 방화벽을 우회하는 것입니다.
🇺🇸 원문 (English)
Nginx UI is a web user interface for the Nginx web server. In 2.3.4 and earlier, an authenticated user can perform Server-Side Request Forgery (SSRF) by creating a cluster node pointing to an arbitrary internal URL and then sending API requests with the X-Node-ID header. The Proxy middleware forwards these requests to the attacker-specified internal address, bypassing network segmentation and enabling access to services bound to localhost or internal networks.
📍 영향받는 시스템
Nginx UI 버전 2.3.4 이하
⚔️ 공격 벡터
인증된 사용자가 클러스터 노드 설정으로 임의 내부 URL 지정 후 X-Node-ID 헤더를 포함한 요청으로 SSRF 트리거
🛡️ 대응 방법
Nginx UI를 2.3.5 이상으로 즉시 업그레이드하고, X-Node-ID 검증 강화 및 프록시 대상 URL에 대한 화이트리스트 적용
🔧 검증 코드
Nginx UI 버전이 2.3.4 이하로 출력되거나 매칭되면 취약 상태이며, 2.3.5 이상이거나 결과 없음은 패치됨 또는 설치 안 됨을 의미
curl -s http://localhost:80/api/v1/info 2>/dev/null | grep -oP '"version":\s*"\K[^"]+' || grep -r 'version.*=.*2\.[0-3]' /opt/nginx-ui/ 2>/dev/null | head -1