🇰🇷 한글 설명
Nginx UI 2.4.1 미만 버전에서 OTP 등록 및 패스키 등록 API가 현재 비밀번호 검증 없이 인증된 세션만으로 접근 가능합니다. 공격자가 탈취한 JWT를 이용해 피해자의 계정에 자신의 TOTP 비밀값이나 패스키를 등록하여 지속적인 계정 접근 권한을 획득할 수 있습니다.
💡 쉬운 설명
해커가 사용자의 로그인 정보를 훔쳤을 때, 사용자의 비밀번호를 몰라도 해커 자신의 인증 수단을 계정에 몰래 등록할 수 있는 보안 결함입니다. 이를 통해 해커는 사용자가 비밀번호를 바꿔도 계속해서 계정에 접속할 수 있게 됩니다.
🇺🇸 원문 (English)
Nginx UI is a web user interface for the Nginx web server. Prior to 2.4.1, POST /api/otp_enroll and POST /api/finish_passkey_register are registered outside RequireSecureSession and accept a normal authenticated session without verifying the current password. An attacker with a stolen JWT can bind an attacker-controlled TOTP secret when the victim has not already enabled TOTP, or can register an attacker-controlled passkey because that path has no equivalent existing-enrollment guard. These changes create persistent account access that can survive a password change and interfere with the legitimate user's authentication. This issue is fixed in version 2.4.1.
📍 영향받는 시스템
Nginx UI versions prior to 2.4.1
⚔️ 공격 벡터
탈취된 JWT를 사용하여 비밀번호 검증 없이 OTP 또는 패스키 등록 API 호출
🛡️ 대응 방법
Nginx UI를 최신 버전인 2.4.1 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 2.4.1 미만(예: 2.4.0 이하)이면 취약한 상태입니다.
curl -s http://<target-ip>/api/version | grep -E '2\.[0-4]\.'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
IBM Security Verify Access