Vulnerability · Published Oct 12, 2026 · Assigned by GitHub_M

CVE-2026-84313Nginx UI: TOTP / passkey enrolment requires no re-authentication, enabling persistent account takeover

High 8.8

In plain English

A high-severity improper authentication in nginx-ui from 0xJacky. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 46% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)8.8High
Exploit odds (30 days)0.5%top 54.2% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official description

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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Gogithub.com/0xJacky/Nginx-UI1.9.10-0.20260703131214-23d1934099b0GHSA-gfrc-g87h-7h5w
Gogithub.com/0xJacky/Nginx-UIno fix listedGO-2026-6786

Affected products (as reported)

VendorProductVersions
0xJacky nginx-ui < 2.4.1

Weakness: CWE-287, CWE-306 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

References