Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as ordinary Nginx UI user
-
DeliveryRequest /api/nodes and read serialized node token
-
ExploitReplay token as X-Node-Secret to cluster peer
-
ExecutionPass AuthRequired as trusted node (initUser)
-
ImpactTrigger config sync or service restart on peer
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires (1) a valid authenticated Nginx UI account with only ordinary (non-admin) privileges - consistent with CVSS PR:L; (2) a multi-node cluster configuration where at least one trusted peer is network-reachable, since the leaked node token is only useful when replayed as X-Node-Secret against another cluster member; and (3) a vulnerable version in the 2.0.0-2.4.x range where /api/nodes and /api/nodes/:id serialize the token field. Standalone single-node deployments and installations upgraded to 2.5.0 are not exploitable. The limiting factors are the mandatory authenticated account and the cluster-topology dependency; there is no mitigating user interaction or admin-privilege requirement, so any ordinary user in a clustered deployment qualifies. |
| Impact | This is a genuine priority, not merely a high-CVSS paper risk. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N) is internally consistent with the description: a network-reachable API (/api/nodes, /api/nodes/:id) exploitable with low complexity by any authenticated user holding ordinary (non-admin) privileges and no user interaction - matching PR:L and the phrase 'ordinary authenticated users.' The triple-high impact (C:H/I:H/A:H) is well justified because the leaked node token enables cross-node impersonation leading to configuration synchronization (integrity) and service restart (availability) on cluster peers, with the token disclosure itself being the confidentiality loss. No EPSS score, KEV listing, or SSVC decision data was provided, so automatability and widespread-exploitation probability cannot be quantified from the input. The only exploitation-relevant artifact is the vendor fix commit (a patch, NOT a proof-of-concept), so there is no confirmed public exploit. The main factor reducing real-world urgency is the prerequisite of a valid low-privileged account AND an active multi-node cluster deployment - single-node installations are not exposed. Net: a serious privilege-escalation/lateral-movement flaw in clustered deployments, but gated behind authentication and a specific topology. |
| Exploit ScenarioDerived | A low-privileged but authenticated user of a clustered Nginx UI deployment calls GET /api/nodes (or /api/nodes/:id), reads the serialized node token from the JSON response, and replays it as the X-Node-Secret header to a reachable cluster member. Accepted by AuthRequired and mapped to initUser, the attacker now acts as a trusted node and can push configuration changes or restart services on peers. No public exploit is identified at time of analysis; only the vendor patch commit is available. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 09, 2026
Ordinary authenticated users of clustered Nginx UI deployments can read the cluster node token from the JSON responses of /api/nodes and /api/nodes/:id and replay it in the X-Node-Secret header to be authenticated as a trusted peer node, crossing the node-to-node authentication boundary. Because the leaked secret is accepted by AuthRequired and mapped to the synthetic initUser principal, the attacker can reach sensitive management operations on any network-reachable cluster member, including configuration synchronization and service restarts. Affected versions are 2.0.0 through 2.4.x; the issue is fixed in Nginx UI 2.5.0. No public exploit code or confirmed active exploitation was identified at time of analysis, although the upstream fix commit is publicly visible.
RemediationAI
Upgrade to Nginx UI 2.5.0 or later (vendor-released patch: v2.5.0), which removes the legacy shared-secret node authentication path and replaces it with Ed25519 pairing credentials, revoking legacy credentials as part of the migration; the corresponding change is in commit 0ecbd106c37b5143be14880c9447a66135151512 and is described in advisory GHSA-32gc-wf3m-78w9. After upgrading, rotate any node tokens/credentials that existed before the update, since tokens exposed via /api/nodes under the old code remain valid until revoked, and re-pair cluster members using the new pairing flow. If immediate upgrade is not possible, the most effective compensating control is to treat the cluster API as a trust boundary: block access to the cluster member ports from all hosts except the legitimate controller/peer IPs using host or network firewall rules, which prevents a harvested token from being replayed - the trade-off is that legitimate cluster synchronization also depends on that reachability, so the allowlist must be maintained carefully. Running the instance in standalone (non-clustered) mode eliminates the attack path entirely at the cost of losing multi-node management features, and restricting or disabling ordinary user accounts on clustered instances reduces the number of principals who can reach /api/nodes. Stripping the token field from /api/nodes responses with a reverse-proxy response filter is a partial workaround, but it will break the node-management UI and does not remove tokens already retrieved or cached, so it should be viewed as a stopgap only. No vendor-released patch predating 2.5.0 exists for this issue.
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 web front end for managing the nginx web server, and its cluster feature lets multiple instances act as controller/peer nodes that synchronize configuration and issue management commands to one another. The root cause is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor): the handlers backing /api/nodes and /api/nodes/:id serialize the model's node token field directly into the API response, so any authenticated account, even one with only ordinary privileges, can harvest the shared secret that identifies a trusted node. That same secret is consumed by the AuthRequired middleware as the X-Node-Secret header and, when valid, the request is attributed to a synthetic initUser node principal rather than to the calling user - turning an information-disclosure bug into a cross-node authentication bypass. The upstream fix in v2.5.0 (commit 0ecbd106c37b5143be14880c9447a66135151512) retires the legacy shared-secret scheme in favor of Ed25519 key-pair pairing credentials, adds an UpgradeLegacyPairing endpoint that verifies a legacy node principal before issuing a NodeControllerCredential, and revokes outstanding legacy credentials; rotation logic was likewise reworked away from the legacy token model. The CPE cpe:2.3:a:0xjacky:nginx-ui:*:*:*:*:*:*:*:* covers the pre-2.5.0 release line. Note the CVE record assigns CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (8.8), while the independent assessment treats the scope as Changed (S:C) to reflect impact that crosses from an ordinary user context into the node/controller trust domain; both readings agree on low attack complexity, network vector, and no user interaction.
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
Any authenticated ordinary user over the network with low complexity (PR:L/AV:N/AC:L); impact crosses from the queried node to a separate cluster member, so S:C with full C/I/A loss via token theft, config sync and restart.
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, ordinary authenticated users can access /api/nodes and /api/nodes/:id, whose responses serialize the node token field. The same token is accepted as X-Node-Secret by AuthRequired and maps the request to initUser, allowing the user to impersonate a trusted node against a reachable cluster member. This cross-node authentication bypass can expose sensitive management operations, including configuration synchronization and service restart. This issue is fixed in version 2.5.0.
Articles & Coverage 1
Technical POC Analysis
CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor), with CWE-862 (Missing Authorization) also assigned.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Nginx UI cluster deployments running versions 2.0.0 through 2.4.x leak the node-to-node authentication token to any ordinary authenticated user, allowing that user to impersonate a trusted cluster peer and reach management operations such as configuration synchronization and service restarts on every network-reachable node. This matters to leadership because a single low-privilege account can be turned into control over the entire Nginx fleet, creating risk of unauthorized configuration change, service disruption, and loss of availability for traffic served through those nodes. The fix is available as Nginx UI 2.5.0.
Apply vendor patch (Nginx UI 2.5.0). If the upgrade cannot be completed immediately: restrict network access to the cluster management API so only trusted node addresses can reach it, rotate the cluster node token and treat the prior value as compromised, and limit cluster management access to the smallest possible set of accounts.
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.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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
Missing second-factor step-up enforcement in the Nginx UI cluster API (versions 2.0.0 through 2.4.x) allows anyone holdi
EUVD-2026-95895
GHSA-32gc-wf3m-78w9
NVD
CVE.org
EPSS
VulDB
Exploit-DB