CVE-2026-84321 Nginx UI: Standalone short tokens survive administrative revocation in cache and authenticate again after account re-enable
Attackers can reuse revoked short tokens to regain access to Nginx UI routes if the associated account is re-enabled, bypassing authentication controls.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-84321?
CVE-2026-84321 is a medium-severity authentication bypass vulnerability in 0xJacky nginx-ui, published on 12 Oct 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
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.
Weakness: CWE-613
Which versions are affected by CVE-2026-84321?
3 open source packages ship an affected version, including github.com/0xJacky/Nginx-UI.
| Package | Affected | Fixed in |
|---|---|---|
github.com/0xJacky/Nginx-UI Go | All versions | 1.9.10-0.20260703131214-23d1934099b0 |
github.com/0xJacky/Nginx-UI Go | All versions | 1.9.10-0.20260703131214-23d1934099b0 |
github.com/0xJacky/Nginx-UI Go | All versions | 1.9.10-0.20260703131214-23d1934099b0 |
How do I fix CVE-2026-84321?
Upgrade github.com/0xJacky/Nginx-UI to 1.9.10-0.20260703131214-23d1934099b0 or later.
Upgrade, and rotate credentials and sessions that may have been exposed. More about Authentication bypass.
Is CVE-2026-84321 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-84321 exists.
Sources
Also known as GHSA-wq4w-vwvq-q3x9, GO-2026-6801.