Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid nginx-ui user credentials
-
DeliveryAuthenticate to web interface
-
ExploitCall GetSettings API endpoint
-
ExecutionParse JSON response for protected fields (JwtSecret, ClientSecret, NodeSecret)
-
ImpactReuse extracted secrets for privilege escalation or account compromise
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 an authenticated user account with access to the nginx-ui web interface and ability to call the GetSettings API endpoint. No special configuration or feature enablement is required - the vulnerability exists in the default API implementation. Authentication is enforced by nginx-ui's existing auth layer (reflected in CVSS PR:L), meaning unauthenticated remote attackers cannot directly trigger the leak. However, any authenticated user - including read-only operator accounts, test accounts, or compromised low-privilege accounts - can extract all secrets. The vulnerability is present in the default installation without requiring non-standard deployment or configuration choices. |
| Impact | CVSS 6.5 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) indicates network-accessible exploitation requiring low privileges (authenticated user) with high confidentiality impact. The Low complexity and no user interaction requirement reflect straightforward API access. EPSS data is not provided. No KEV status or POC availability is confirmed in input data. Real-world risk is elevated despite moderate CVSS score because: (1) authenticated users are common in many deployments (operators, DevOps teams, delegated admins); (2) exposed secrets (JwtSecret, NodeSecret, ClientSecret) enable lateral movement and account compromise, not just information disclosure - impact scope extends beyond the initial API response; (3) IP whitelist exposure aids reconnaissance for access control bypass. The lack of integrity impact reflects that this is read-only, but the secrets exposed have write-equivalent consequences when reused. SSVC considerations: exploitation is straightforward (AC:L), technical impact is total (secrets compromise), and the mission essential status depends on deployment context (mission-critical clusters vs. test environments). |
| Exploit ScenarioDerived | An authenticated operator with read-only dashboard access (common for junior DevOps staff) calls the GetSettings API endpoint. The API returns all configuration in JSON, including JwtSecret and OIDC ClientSecret. The attacker uses the leaked JwtSecret to forge authentication tokens and gain admin access to nginx-ui, or uses ClientSecret to initiate OAuth token refresh attacks against the upstream identity provider, enabling account takeover of other authenticated users. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 04, 2026
nginx-ui versions prior to 2.3.8 expose 40+ protected configuration fields through the GetSettings API to authenticated users, including JwtSecret (auth token forgery), NodeSecret (cluster impersonation), and OIDC ClientSecret (OAuth takeover). The protected tag is enforced only during writes but completely ignored during reads, allowing authenticated attackers to extract sensitive secrets and IP whitelist configurations without requiring additional privileges or user interaction.
RemediationAI
Vendor-released patch: nginx-ui version 2.3.8. Upgrade immediately by pulling the v2.3.8 release tag or later from the nginx-ui repository and redeploying. If immediate upgrade is not feasible, apply network-level compensating controls: restrict API access to trusted internal networks only, implement reverse proxy authentication ahead of nginx-ui (e.g., WAF or API gateway), and rotate all exposed secrets (JwtSecret, NodeSecret, OIDC ClientSecret) after potential compromise is confirmed. Additionally, audit logs for GetSettings API calls to identify if unauthorized secret access occurred. Note that compensating controls do not remediate the underlying vulnerability; they only reduce exposure window. Patch application is mandatory.
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 web management interface for Nginx built in Go. The vulnerability exists in the GetSettings API handler (api/settings/settings.go:24-65) which serializes all settings structs to JSON. While sensitive fields are annotated with protected:true tags - intended to prevent unauthorized modification - the read operation in GetSettings bypasses this protection entirely. The ProtectedFill function enforces the tag only during SaveSettings (write operations), creating an asymmetric validation gap. CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) classifies this as improper access control on sensitive data at rest within the application layer.
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:N/A:N
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
Lifecycle Timeline
1DescriptionGitHub Advisory
Nginx UI is a web user interface for the Nginx web server. Prior to version 2.3.8, the GetSettings API handler (api/settings/settings.go:24-65) serializes all settings structs to JSON and returns them to authenticated users. Many sensitive fields are tagged with protected:"true" - however, this tag is only enforced during writes (via ProtectedFill in SaveSettings) and is completely ignored during reads. This exposes 40+ protected fields including JwtSecret (enabling auth token forgery), NodeSecret (enabling cluster node impersonation), OIDC ClientSecret (enabling OAuth account takeover), and the IP whitelist configuration. This issue has been patched in version 2.3.8.
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
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
Ordinary authenticated users of clustered Nginx UI deployments can read the cluster node token from the JSON responses o
Same weakness CWE-200 – Information Exposure
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-27140
GHSA-q4w7-56hr-83rm
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB