CVE-2026-84313 json
Nginx UI: TOTP / passkey enrolment requires no re-authentication, enabling persistent account takeover
published 2026-10-12 27 d ago modified 2026-10-28 12 d ago also EUVD-2026-97865 , GHSA-gfrc-g87h-7h5w , GO-2026-6786
- cvss
- 8.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 45%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- go github.com/0xJacky/Nginx-UI 1.9.10-0.20260703131214-23d1934099b0
- nginxui nginx_ui 2.4.1
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 25 d ago
Exploit prediction
0.54% chance of exploitation in the next 30 days, higher than 45% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/0xJacky/nginx-ui/security/advisories/GHSA-gfrc-g87h-7h5w referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/0xJacky/Nginx-UI | <1.9.10-0.20260703131214-23d1934099b0 all versions |
1.9.10-0.20260703131214-23d1934099b0 |
Affected products
- 0xJacky nginx-ui
Classification
References
-
github.com
/0xJacky/nginx-ui/commit/23d1934099b05b2a01589b48129dc3d3159d91c2
web, patch
-
github.com
/0xJacky/nginx-ui/security/advisories/GHSA-gfrc-g87h-7h5w
exploit, web, advisory
-
github.com
/0xJacky/nginx-ui/releases/tag/v2.4.1
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-84313
advisory
-
github.com
/0xJacky/nginx-ui
package
Sources
- CVE List CVE-2026-84313
- GitHub Advisory GHSA-gfrc-g87h-7h5w
- NVD CVE-2026-84313
- OSV GO-2026-6786
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.