Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid low-privilege or stolen JWT
-
DeliveryCall api/cluster node/nginx endpoints
-
ExploitBypass missing second-factor step-up
-
ExecutionPerform node CRUD and read/replace credentials
-
ImpactInvoke cluster-wide nginx reload/restart
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires Nginx UI 2.0.0 through 2.4.x deployed in clustered/multi-node mode and reachable on the network, with an attacker already holding a valid authenticated JWT - a legitimate low-privilege OTP-enabled account or a stolen/persisted token from a prior session. The specific flaw is that the api/cluster router enforces AuthRequired but omits RequireSecureSession, so sensitive node-mutation and nodes/reload_nginx|restart_nginx operations execute without a fresh second-factor step-up. Limiting factors: exploitation is impossible without an existing valid session token (no fully unauthenticated path), it only matters on instances that manage cluster nodes, and single-node deployments not using the cluster feature are not meaningfully exposed. |
| Impact | This is a genuine high-priority issue for the specific population that runs it, though not a mass-internet emergency. The provided CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N, C:H/I:H/A:H) rates it 8.8 and aligns well with the description: network-reachable cluster API, low complexity, and only low privileges required (PR:L), consistent with CWE-862 (Missing Authorization - specifically a missing second-factor step-up / RequireSecureSession check). The honest caveat is that PR:L understates a real prerequisite stated in the description: the attacker must already hold a valid authenticated JWT (a legitimate low-privilege account, or a stolen/persisted token). No EPSS score, no CISA KEV listing, and no public exploit were provided, so there is no evidence of active exploitation - this is no public exploit identified at time of analysis. The source commit confirms the root cause and fix (nodeauth client, audit redaction of credentials, and secure-session gating of cluster node mutations). Signals are therefore internally consistent (CVSS high-impact matches a full node-takeover/reload primitive), but the absence of exploitation telemetry (EPSS/KEV/POC) means prioritization should be driven by whether you actually run Nginx UI in clustered mode, not by widespread-exploitation fear. Note this is explicitly an incomplete fix for CVE-2026-84315, so unpatched instances may believe they are already protected. |
| Exploit ScenarioDerived | An attacker who has obtained any authenticated Nginx UI session token - a low-privilege account or a JWT stolen/persisted from a prior session - sends requests directly to the api/cluster endpoints. Because these routes require only AuthRequired and not RequireSecureSession, no fresh OTP step-up is demanded, so the attacker reads or replaces node credentials, alters namespaces, and triggers cluster-wide nginx reload/restart. No public exploit is reported, but the attack is a straightforward authenticated API call requiring no special tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 09, 2026
Missing second-factor step-up enforcement in the Nginx UI cluster API (versions 2.0.0 through 2.4.x) allows anyone holding a valid session token to perform node CRUD operations, read or replace stored node credentials, change namespaces, and trigger cluster-wide Nginx reload or restart actions without re-verifying a one-time password. The api/cluster router is protected by AuthRequired but omits RequireSecureSession, so a stolen or persisted JWT belonging to an OTP-enabled user is sufficient; the flaw is an incomplete fix for CVE-2026-84315 and was corrected in version 2.5.0. No public exploit code or confirmed in-the-wild exploitation was identified at time of analysis, and exposure is limited to clustered/multi-node deployments reachable on the network, so this is a high-priority issue for that specific population rather than a mass-internet emergency.
RemediationAI
Vendor-released patch: upgrade to Nginx UI 2.5.0 or later (https://github.com/0xJacky/nginx-ui/releases/tag/v2.5.0), which applies RequireSecureSession to the api/cluster router and closes the incomplete-fix gap from CVE-2026-84315; the specific upstream change is commit a3999bd78a3b97ab22e6b5e9fd478ac57598a954. Until upgrading is possible, treat every valid session token as a cluster-admin credential: invalidate existing sessions and rotate all node X-Node-Secret values, shorten JWT lifetimes so persisted tokens expire quickly, and restrict access to the cluster endpoints (node CRUD, nodes/reload_nginx, nodes/restart_nginx) at the reverse proxy so only trusted management networks or admin source IPs can reach them - the trade-off is that legitimate remote node management must originate from those networks. If remote administration of nodes is not required, disable or remove node entries and the cluster feature entirely, which eliminates the attack surface at the cost of the multi-node management capability. Also review audit logs for historical leakage of Authorization, X-Node-Secret, or node_secret values, since pre-2.5.0 builds logged that material; note the 2.5.0 release adds redaction, so any pre-upgrade logs containing these secrets should be treated as compromised and purged.
Affected VersionsENISA
Affected Packages
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/Gin-based web front end for managing Nginx instances, and its optional cluster feature lets one controller manage remote nodes through REST calls that authenticate with an X-Node-Secret header plus per-user session tokens. The vulnerability is CWE-862 (Missing Authorization): the cluster router applies the AuthRequired middleware only, while sensitive node-mutation and nodes/reload_nginx / nodes/restart_nginx handlers should also have required RequireSecureSession, the middleware that forces a fresh OTP second-factor challenge. Because that gate is absent, an attacker who already possesses a valid JWT - either a low-privilege OTP-enabled account or a token stolen/persisted from an earlier session - can exercise the full privileged cluster surface, including reading or replacing node credentials and rewriting namespace configuration. The corresponding upstream fix (commit a3999bd78a3b97ab22e6b5e9fd478ac57598a954, released in v2.5.0) also refactors cluster/nginx.go onto a nodeauth.NewRestyClient helper and adds audit-log sanitization that redacts Authorization, X-Node-Secret, and node_secret query parameters so credential material no longer leaks into audit storage. The single CPE cpe:2.3:a:0xjacky:nginx-ui:*:*:*:*:*:*:*:* confirms the affected product is the upstream 0xJacky/nginx-ui package itself rather than a downstream distribution.
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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-facing cluster API, low complexity, and a pre-existing authenticated JWT give PR:L; full node credential read/replace and reload/restart yield C:H/I:H/A:H with unchanged scope.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Nginx UI is a web user interface for the Nginx web server. From 2.0.0 until 2.5.0, the api/cluster router exposes node and namespace mutation operations and cluster-wide Nginx reload or restart operations with AuthRequired but without RequireSecureSession. An authenticated OTP-enabled user possessing a stolen or persisted JWT can therefore perform node CRUD, read or replace node credentials, change namespaces, and invoke nodes/reload_nginx or nodes/restart_nginx without a fresh second-factor step-up. This issue is an incomplete fix for CVE-2026-84315 and is fixed in version 2.5.0.
Articles & Coverage 1
Technical POC Analysis
Missing authorization check (CWE-862) on the api/cluster router: sensitive mutation handlers are registered on the bare authenticated group without the RequireSecureSession middleware that the siblin…
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A missing second-factor enforcement flaw in the Nginx UI cluster API (versions 2.0.0 through 2.4.x) allows anyone holding a valid session token from an OTP-enabled account to perform node management, read or replace stored node credentials, change namespaces, and trigger cluster-wide Nginx reload or restart actions without re-verification. The exposure is limited to clustered or multi-node deployments reachable on the network rather than the general internet, but for that population the impact is significant: attackers could seize control of node credentials and disrupt or reconfigure production traffic across the entire Nginx fleet. Because the flaw is an incomplete fix for CVE-2026-84315, leadership should treat this as a remediation-integrity concern, not just a single-patch event.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Unauthenticated backup download and RCE in Nginx UI before 2.3.3. EPSS 1.0%. PoC available.
Nginx UI is a web user interface for the Nginx web server. Rated high severity (CVSS 8.9), this vulnerability is remotel
Unauthenticated attackers can hijack the administrator account during nginx-ui's first-run installation window by claimi
Nginx UI is a web user interface for the Nginx web server. Rated high severity (CVSS 7.7), this vulnerability is remotel
nginx-ui prior to version 2.3.8 exposes sensitive configuration values including node.secret via an authenticated GET /a
Nginx-UI is a web interface to manage Nginx configurations. Rated critical severity (CVSS 9.8), this vulnerability is re
Authenticated administrators of Nginx UI releases 2.3.8 through 2.4.x can achieve remote code execution on the host by a
Remote code execution as root in nginx-ui versions before 2.3.8 via unauthenticated backup restore within 10-minute star
Configuration-validation bypass in Nginx UI (versions 2.0.0-rc.6 through 2.4.0) lets an authenticated low-privilege user
Nginx UI installations before 2.4.1 expose two account-security endpoints, POST /api/otp_enroll and POST /api/finish_pas
Configuration validation bypass in Nginx UI (nginx-ui) prior to 2.4.1 lets an authenticated user with configuration-writ
Ordinary authenticated users of clustered Nginx UI deployments can read the cluster node token from the JSON responses o
EUVD-2026-95898
GHSA-h246-wpgf-vmq5
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB