🇰🇷 한글 설명
Nginx UI 2.4.1 미만 버전에서 GenerateShortToken 기능이 긴 토큰 값이 없는 독립적인 단축 토큰 레코드를 생성할 때 발생하는 취약점입니다. DeleteUserTokens 기능이 긴 토큰 필드가 비어 있는 경우 캐시 항목을 무효화하지 못하여, 취소된 단축 토큰이 캐시에 남아 계정이 재활성화될 경우 다시 인증에 사용될 수 있습니다.
💡 쉬운 설명
한번 사용하고 폐기해야 할 짧은 인증 코드가 시스템 메모리에 계속 남아있는 문제입니다. 이로 인해 삭제된 인증 코드가 나중에 다시 사용되어 보안이 뚫릴 위험이 있습니다.
🇺🇸 원문 (English)
Nginx UI is a web user interface for the Nginx web server. Prior to 2.4.1, GenerateShortToken creates standalone short-token records without a long Token value, but DeleteUserTokens invalidates cached entries only when the long Token field is nonempty. A revoked short token can therefore remain in the short_token cache and authenticate again if the associated account is re-enabled before the cache entry expires because GetTokenUserByShortToken reads the surviving entry, restoring access to HTTP or WebSocket routes that accept short-token authentication. This issue is fixed in version 2.4.1.
📍 영향받는 시스템
Nginx UI 버전 2.4.1 미만
⚔️ 공격 벡터
취소된 단축 토큰을 재사용하여 HTTP 또는 WebSocket 경로에 무단 접근
🛡️ 대응 방법
Nginx UI를 최신 버전인 2.4.1 이상으로 업데이트
🔧 검증 코드
출력 결과에 2.4.1 미만의 버전 번호가 나타나면 취약한 상태입니다.
curl -s http://<target_ip>/version | grep -E '2\.[0-3]\.'