🇰🇷 한글 설명
Nginx UI 2.0.0~2.3.7 버전에서 초기 설치 시 /api/install 엔드포인트가 인증 없이 공개되어 있어, 원격 공격자가 정상 운영자보다 먼저 서비스에 접근하면 관리자 계정을 임의로 설정할 수 있습니다. 이를 통해 초기 시스템 제어권을 완전히 빼앗길 수 있습니다.
💡 쉬운 설명
Nginx UI의 첫 실행 설정 화면에서 누구든 관리자 계정을 만들 수 있는 문제입니다. 해커가 정상 관리자보다 먼저 이 기능에 접근하면 시스템 전체를 통제할 수 있게 됩니다.
🇺🇸 원문 (English)
Nginx UI is a web user interface for the Nginx web server. From version 2.0.0 to before version 2.3.8, an unauthenticated network attacker can claim the initial administrator account on a fresh nginx-ui instance during the first-run setup window. The public /api/install endpoint is reachable without authentication, and the request-encryption flow only protects payload confidentiality in transit; it does not authenticate who is allowed to perform installation. A remote attacker who reaches the service before the legitimate operator can set the admin email, username, and password, causing permanent initial-instance takeover. This issue has been patched in version 2.3.8.
📍 영향받는 시스템
Nginx UI 2.0.0 ~ 2.3.7
⚔️ 공격 벡터
인터넷 접근 가능한 신규 Nginx UI 인스턴스의 /api/install 엔드포인트에 인증 없이 관리자 등록 요청 전송
🛡️ 대응 방법
Nginx UI를 2.3.8 이상으로 즉시 업그레이드
🔧 검증 코드
반환된 버전이 2.3.8 이상이면 안전하고, 2.3.7 이하거나 /api/install이 인증 없이 접근 가능하면 취약합니다.
npm list nginx-ui 2>/dev/null | grep -E 'nginx-ui@' || curl -s http://localhost:8080/api/settings 2>/dev/null | jq .version