---
id: "CVE-2026-84321"
kind: "vulnerability"
aliases: ["CVE-2026-84321", "GHSA-wq4w-vwvq-q3x9", "GO-2026-6801"]
title: "Nginx UI: Standalone short tokens survive administrative revocation in cache and authenticate again after account re-enable in github.com/0xJacky/Nginx-UI"
severity: "medium"
cvss: 5.4
epss: 0.00209
exploited: false
status: "open"
category: "package"
products: [{"name": "github.com/0xJacky/Nginx-UI", "fixed": ["1.9.10-0.20260703131214-23d1934099b0"], "affected": "< 1.9.10-0.20260703131214-23d1934099b0", "ecosystem": "go"}]
ecosystems: ["go"]
tags: ["go", "nginx", "nginx-ui", "package", "self-hosted"]
not_affected_if: ["managed-hosting", "no-short-token-auth"]
published_at: "2026-10-12T21:17:22+00:00"
first_seen_at: "2026-10-23T19:13:08+00:00"
updated_at: "2026-10-23T19:58:19+00:00"
sources: [{"source": "govuln", "url": "https://pkg.go.dev/vuln/GO-2026-6801", "first_seen_at": "2026-10-23T19:13:08+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-84321", "first_seen_at": "2026-10-23T19:13:43+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-84321", "first_seen_at": "2026-10-23T19:35:23+00:00"}]
---

# Nginx UI: Standalone short tokens survive administrative revocation in cache and authenticate again after account re-enable in github.com/0xJacky/Nginx-UI

Nginx UI, a web interface for managing Nginx, can keep a revoked short-lived login token in its cache. If the owning account is re-enabled before the cache entry expires, that old token authenticates again and restores access to HTTP and WebSocket routes that accept short tokens.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- go:github.com/0xJacky/Nginx-UI affected < 1.9.10-0.20260703131214-23d1934099b0 fixed 1.9.10-0.20260703131214-23d1934099b0

## How to check

Check the Go module version of github.com/0xJacky/Nginx-UI in go.mod against 1.9.10-0.20260703131214-23d1934099b0 (sources also mention version 2.4.1 as the fix).

## Fix

Upgrade github.com/0xJacky/Nginx-UI to 1.9.10-0.20260703131214-23d1934099b0 or later (sources also state 2.4.1 as the fixed release; the two version references conflict).
After upgrading, rotate short tokens for affected accounts if revocation happened before the fix.

## Timeline

- 2026-10-23T19:13:08+00:00 govuln https://pkg.go.dev/vuln/GO-2026-6801
- 2026-10-23T19:13:43+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-84321
- 2026-10-23T19:35:23+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-84321

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
