Skip to main content

Nginx UI CVE-2026-107811

| EUVDEUVD-2026-95895 HIGH
Information Exposure (CWE-200)
2026-10-09 GitHub_M GHSA-32gc-wf3m-78w9
8.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as ordinary Nginx UI user
  2. Delivery
    Request /api/nodes and read serialized node token
  3. Exploit
    Replay token as X-Node-Secret to cluster peer
  4. Execution
    Pass AuthRequired as trusted node (initUser)
  5. Impact
    Trigger 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

nginx-ui 2.0.0, < 2.5.0

Affected Packages

go github.com/0xjacky/nginx-ui fix: 1.9.10-0.20260728091109-0ecbd106c37b
euvd nginx_ui_2_0_0 fix: 2.5.0

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

Vendor (GitHub_M) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 9.9 CRITICAL

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.

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

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
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 09, 2026 - 17:02 EUVD
CVE Published
Oct 09, 2026 - 15:36 cve.org
HIGH 8.8

DescriptionCVE.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.

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.4%
Top 73% exploitable
Prevalence
Low
niche open-source self-hosted nginx admin UI, limited production footprint
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High

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 HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

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.

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-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-2026-42221 HIGH POC
8.1 May 04

Unauthenticated attackers can hijack the administrator account during nginx-ui's first-run installation window by claimi

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-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-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

CVE-2026-84313 HIGH
8.8 Oct 12

Nginx UI installations before 2.4.1 expose two account-security endpoints, POST /api/otp_enroll and POST /api/finish_pas

CVE-2026-84316 HIGH
8.8 Oct 12

Configuration validation bypass in Nginx UI (nginx-ui) prior to 2.4.1 lets an authenticated user with configuration-writ

CVE-2026-107813 HIGH
8.8 Oct 09

Missing second-factor step-up enforcement in the Nginx UI cluster API (versions 2.0.0 through 2.4.x) allows anyone holdi

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