🇰🇷 한글 설명
Nginx UI 2.3.8 이전 버전에서 인증된 사용자가 GET /api/settings를 통해 node.secret을 포함한 민감한 설정값을 조회할 수 있으며, 이 node.secret을 X-Node-Secret 헤더나 node_secret 쿼리 파라미터로 사용하면 신뢰할 수 있는 노드로 인식되어 init 사용자 권한으로 접근 가능합니다.
💡 쉬운 설명
Nginx UI는 설정 정보를 조회할 때 특별한 보안 키를 노출시키는 문제가 있습니다. 이 키를 이용하면 일반 사용자도 관리자 권한으로 시스템에 접근할 수 있게 됩니다.
🇺🇸 원문 (English)
Nginx UI is a web user interface for the Nginx web server. Prior to version 2.3.8, an authenticated user can call GET /api/settings and retrieve sensitive configuration values, including node.secret. The same node.secret is accepted by AuthRequired() through the X-Node-Secret header (or node_secret query parameter), causing the request to be treated as authenticated via the trusted-node path and associated with the init user. This issue has been patched in version 2.3.8.
📍 영향받는 시스템
Nginx UI 2.3.8 이전 모든 버전
⚔️ 공격 벡터
인증된 사용자가 /api/settings 엔드포인트에서 node.secret을 획득 후 X-Node-Secret 헤더나 node_secret 파라미터로 전송하여 신뢰할 수 있는 노드로 위장
🛡️ 대응 방법
Nginx UI를 버전 2.3.8 이상으로 업그레이드
🔧 검증 코드
버전이 2.3.8 이상이면 취약점이 패치되었고, 이하이면 취약한 상태입니다
apt show nginx-ui 2>/dev/null | grep Version | awk '{print $2}' || dpkg -l | grep nginx-ui | awk '{print $3}'