🇰🇷 한글 설명
Nginx UI 2.0.0부터 2.5.0 버전 사이에서 일반 인증된 사용자가 노드 토큰 정보를 포함한 API에 접근할 수 있는 취약점이 발견되었습니다. 공격자는 탈취한 토큰을 사용하여 신뢰할 수 있는 노드로 위장함으로써 설정 동기화나 서비스 재시작과 같은 민감한 관리 작업을 수행할 수 있습니다.
💡 쉬운 설명
로그인 권한이 있는 일반 사용자가 관리자처럼 속여서 서버의 중요한 설정을 바꾸거나 서버를 껐다 켤 수 있는 보안 구멍이 발견되었습니다. 이로 인해 서버 전체의 제어권을 뺏길 위험이 있습니다.
🇺🇸 원문 (English)
Nginx UI is a web user interface for the Nginx web server. From 2.0.0 until 2.5.0, ordinary authenticated users can access /api/nodes and /api/nodes/:id, whose responses serialize the node token field. The same token is accepted as X-Node-Secret by AuthRequired and maps the request to initUser, allowing the user to impersonate a trusted node against a reachable cluster member. This cross-node authentication bypass can expose sensitive management operations, including configuration synchronization and service restart. This issue is fixed in version 2.5.0.
📍 영향받는 시스템
Nginx UI version 2.0.0 ~ 2.5.0
⚔️ 공격 벡터
인증된 사용자가 API를 통해 노드 토큰을 탈취한 후, 이를 X-Node-Secret 헤더에 담아 노드 권한으로 위장 공격
🛡️ 대응 방법
Nginx UI를 최신 보안 패치가 적용된 버전 2.5.0 이상으로 업데이트하십시오.
🔧 검증 코드
API 응답에서 토큰 필드가 노출되면 취약한 상태이며, 노출되지 않으면 안전한 상태입니다.
curl -s http://<target_ip>/api/nodes | grep -q 'token' && echo 'Vulnerable' || echo 'Not Vulnerable'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
Multi-Domain Security Management Server