Skip to main content

Nginx UI EUVDEUVD-2026-97864

| CVE-2026-84321 MEDIUM
Insufficient Session Expiration (CWE-613)
2026-10-12 GitHub_M GHSA-wq4w-vwvq-q3x9
5.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain a valid short token while authorized
  2. Delivery
    Account disabled, long-token sessions revoked
  3. Exploit
    Stale short_token cache entry survives revocation
  4. Execution
    Account re-enabled before cache expiry
  5. Persist
    Replay short token to protected HTTP/WebSocket route
  6. Impact
    Regain authenticated access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
Exploitation Conditions

Exploitation requires that the attacker already possess a previously-issued short token for a user account (short-token authentication must be in use for the targeted HTTP or WebSocket routes), that the account subsequently be disabled and then RE-ENABLED, and that this re-enablement occur before the stale short_token cache entry naturally expires. The limiting factors are significant: the attacker must hold a valid pre-existing short token (PR:L, not unauthenticated), the specific administrative sequence of disable-then-re-enable must occur, and the replay window is bounded by the cache TTL - making this an opportunistic/timing-dependent flaw rather than reliably reproducible on demand against default deployments.

Impact

This is a genuine but moderate-severity session-management flaw (CWE-613, Insufficient Session Expiration), not a drop-everything priority. The supplied CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N = 5.4 Medium) tells us exploitation is network-reachable, requires some existing privilege (PR:L), needs no user interaction, and yields only partial confidentiality and integrity impact with no availability effect - consistent with regaining an authenticated session rather than gaining code execution. No EPSS score, CISA KEV listing, or public POC was provided, so there is no evidence of active or probable exploitation; exploitation status is 'no public exploit identified at time of analysis.' One signal to verify: the vendor's own CVSS set AC:L, but the described mechanism is conditional and timing-dependent (a revoked short token only works if the account is re-enabled before the cache entry expires), which argues for higher attack complexity - I assess AC:H below. Also note a data-consistency caveat: the fix commit diff shown wraps backup/auto_backup routes in a RequireSecureSession middleware, which addresses secure-session enforcement for OTP users rather than the short-token cache-invalidation logic the Description attributes to this CVE, so the exact code path should be confirmed against the full v2.4.1 changeset and the GHSA-wq4w-vwvq-q3x9 advisory. Overall: a real authorization-persistence bug worth patching, but low real-world urgency absent exploitation signals.

Exploit ScenarioDerived

An administrator revokes a user's access (disables the account), but a short-token record the user previously obtained survives in the short_token cache because DeleteUserTokens only invalidates entries whose long Token field is nonempty. If the account is re-enabled before that cache entry naturally expires, the holder of the old short token can present it to GetTokenUserByShortToken and silently regain authenticated access to HTTP or WebSocket routes. No public exploit code was provided; the attack is a logic/timing race rather than a memory-corruption exploit.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 12, 2026

Revoked short-tokens in Nginx UI prior to 2.4.1 can be replayed to regain authenticated access to HTTP and WebSocket routes that accept short-token authentication, because token deletion fails to invalidate the corresponding short_token cache entry. Exploitation is authenticated and tightly conditioned: the attacker must already hold a previously issued short token (CVSS PR:L), the account must be disabled and then re-enabled before the stale cache entry expires, and the surviving cache record is then resolved by GetTokenUserByShortToken - a timing-dependent, opportunistic flaw rather than a reliably reproducible one. There is no public exploit identified at time of analysis and no evidence of confirmed active exploitation (no CISA KEV listing); the vendor-released patch is Nginx UI 2.4.1.

RemediationAI

Upgrade Nginx UI to 2.4.1 or later - the vendor-released patch that fixes this issue - using the upstream release at https://github.com/0xJacky/nginx-ui/releases/tag/v2.4.1 and the fix commit https://github.com/0xJacky/nginx-ui/commit/23d1934099b05b2a01589b48129dc3d3159d91c2, which corrects the short-token cache invalidation path and applies RequireSecureSession() to backup-related routes. If immediate upgrade is not possible, the most direct compensating control is to purge or restart to clear the short_token cache whenever a token is revoked or an account is disabled, since the stale entry is the exact precondition for replay; the trade-off is that an in-memory cache flush or service restart invalidates all other cached session state and briefly interrupts the management interface. Operators can also reduce exposure by disabling short-token authentication in favor of full-session/JWT-only flows for administrative and WebSocket endpoints, and by shortening the short_token cache TTL so any residual replay window is minimal - accepting that legitimate short-token clients must re-authenticate more frequently. Restrict administrative and backup endpoints (e.g. /backup and /auto_backup*) to trusted networks or a reverse-proxy allowlist as an additional barrier, noting this limits remote administration convenience. Monitor for the specific abuse pattern of a re-enabled account authenticating with an old short token, and confirm no short tokens remain valid for disabled accounts after remediation; no public exploit code or active-exploitation activity was identified at time of analysis, so prioritization can follow normal patch cycles for internet-exposed instances.

Affected VersionsENISA

nginx-ui < 2.4.1

Affected Packages

go github.com/0xjacky/nginx-ui fix: 1.9.10-0.20260703131214-23d1934099b0
euvd nginx_ui fix: 2.4.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Nginx UI is a Go-based web management interface for the Nginx web server, and this issue is rooted in CWE-613 (Insufficient Session Expiration) within its token lifecycle logic. The GenerateShortToken function creates standalone short-token records that intentionally carry no long Token value, but the DeleteUserTokens routine only evicts cached entries when the long Token field is non-empty; as a result, revocation of a short token leaves its entry alive in the short_token cache, and GetTokenUserByShortToken continues to resolve that surviving entry to a user identity. When a disabled account is re-enabled before the cache TTL elapses, the stale short token authenticates again, restoring access to routes that accept short-token authentication. The affected component is tracked as cpe:2.3:a:0xjacky:nginx-ui:*:*:*:*:*:*:*:*, covering all releases before 2.4.1. The upstream fix commit 23d1934099b05b2a01589b48129dc3d3159d91c2 additionally introduces a RequireSecureSession() middleware applied to backup and auto-backup routes (including /backup, /auto_backup, /auto_backup/:id, and /auto_backup/test_s3), with accompanying security tests that assert HTTP 401 for OTP-enabled users lacking a secure session - indicating the maintainers hardened privileged mutation endpoints alongside the token-invalidation change.

Know when Nginx Ui gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 5.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
vuln.today AI 4.2 MEDIUM

Network-reachable replay (AV:N) but requires a prior valid short token (PR:L) and a disable/re-enable race within cache TTL (AC:H); partial confidentiality/integrity from regained access, no availability impact.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Oct 12, 2026 - 22:03 EUVD

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Low
niche open-source self-hosted Nginx management UI, limited enterprise footprint
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-27944 CRITICAL POC
9.8 Mar 05

Unauthenticated backup download and RCE in Nginx UI before 2.3.3. EPSS 1.0%. PoC available.

CVE-2026-42221 CRITICAL POC
9.8 May 04

Unauthenticated attackers who can reach a fresh, uninitialized Nginx UI instance before version 2.3.8 during its first-r

CVE-2024-49368 HIGH POC
8.9 Oct 21

Nginx UI is a web user interface for the Nginx web server. Rated high severity (CVSS 8.9), this vulnerability is remotel

CVE-2024-49366 HIGH POC
7.7 Oct 21

Nginx UI is a web user interface for the Nginx web server. Rated high severity (CVSS 7.7), this vulnerability is remotel

CVE-2026-42223 MEDIUM POC
6.5 May 04

nginx-ui versions prior to 2.3.8 expose 40+ protected configuration fields through the GetSettings API to authenticated

CVE-2026-42220 MEDIUM POC
6.5 May 04

nginx-ui prior to version 2.3.8 exposes sensitive configuration values including node.secret via an authenticated GET /a

CVE-2026-44015 CRITICAL
9.9 May 12

Server-side request forgery in Nginx UI through 2.3.4 lets any authenticated user redirect API requests to an attacker-c

CVE-2026-42222 CRITICAL
9.8 May 04

Unauthenticated bootstrap takeover in Nginx UI 2.3.5: any remote client that can reach a still-uninitialized instance du

CVE-2024-23827 CRITICAL
9.8 Jan 29

Nginx-UI is a web interface to manage Nginx configurations. Rated critical severity (CVSS 9.8), this vulnerability is re

CVE-2026-107806 CRITICAL
9.4 Oct 09

Authenticated administrators of Nginx UI releases 2.3.8 through 2.4.x can achieve remote code execution on the host by a

CVE-2026-42238 CRITICAL
9.0 May 04

Remote code execution as root in nginx-ui versions before 2.3.8 via unauthenticated backup restore within 10-minute star

CVE-2026-84318 HIGH
8.8 Oct 12

Configuration-validation bypass in Nginx UI (versions 2.0.0-rc.6 through 2.4.0) lets an authenticated low-privilege user

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy