Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure logged-in admin to malicious page
-
ExploitBrowser auto-submits forged POST /api/configs
-
ExecutionCookie-based JWT authenticates request
-
ImpactModify Nginx config and trigger reload
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a victim who is a currently logged-in Nginx UI administrator whose JWT is held in a browser-managed cookie, and who is induced to visit or interact with an attacker-controlled page (UI:R). The targeted management endpoint (e.g. POST /api/configs) must lack CSRF-token enforcement and Origin/Referer validation - which per the advisory is the default in versions 2.0.0 through 2.4.x. A critical limiting factor: the administrator account must NOT have OTP/Passkey protection on the operation, or the endpoint must not require secure-session proof; accounts with step-up authentication on sensitive endpoints are not exploitable. The attacker cannot read the cross-origin response, limiting the flaw to blind state-changing actions (config modification, reloads, management operations) rather than data exfiltration. Fixed in 2.5.0. |
| Impact | This is a credible, high-priority vulnerability for exposed Nginx UI instances, though not a drop-everything emergency absent evidence of active exploitation. The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R, 8.8) correctly reflects a network-reachable, low-complexity CSRF that the attacker launches with no privileges of their own - they ride a logged-in administrator's authenticated session. The key moderating signal is UI:R: exploitation is not automatable and requires a human administrator to be lured into visiting an attacker-controlled page while logged in, which argues for targeted rather than spray-and-pray exploitation. No EPSS score, no CISA KEV listing, and no public exploit were supplied in the intelligence, so there is no evidence of active exploitation; the risk is driven by severity and ease of the technique, not by observed in-the-wild use. One cross-signal tension to flag: the input assigns C:H, but the description explicitly states the attacker cannot read the cross-origin response - this makes a High confidentiality rating questionable, and the impact is more accurately integrity/availability (config modification, reloads) than direct data disclosure. SSVC-style framing: exploitation=none observed, automatable=no (requires victim interaction), technical impact=total over the Nginx configuration. |
| Exploit ScenarioDerived | A remote attacker crafts a malicious web page containing a hidden auto-submitting form or fetch that issues POST /api/configs to a victim's Nginx UI instance. When a logged-in administrator (whose JWT is stored in a browser-managed cookie, and who lacks OTP/Passkey on the targeted operation) visits the page, their browser automatically attaches the session cookie and the state-changing request succeeds. No public exploit was identified at time of analysis, but the CSRF technique is trivial to reproduce given AV:N/AC:L. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 09, 2026
Cross-site request forgery in Nginx UI versions 2.0.0 through 2.4.x lets a remote attacker drive a logged-in administrator's browser into performing authenticated, state-changing management operations - including rewriting Nginx configuration through POST /api/configs, triggering config reloads, and invoking other admin endpoints - because the AuthRequired middleware accepts the browser-managed JWT cookie as a valid API credential while management routes generally enforce neither a CSRF token nor Origin/Referer validation. Exploitation requires the victim to be a currently logged-in administrator who is induced to visit an attacker-controlled page (UI:R); per the CVSS vector the attacker needs no credentials of their own (PR:N), but a targeted account protected by OTP/Passkey step-up, or an endpoint requiring secure-session proof, is not exploitable. The attacker cannot read cross-origin responses, so impact is blind configuration tampering and service disruption rather than data exfiltration; the issue is fixed in 2.5.0, and no public exploit code or confirmed active exploitation was identified at time of analysis.
RemediationAI
Upgrade Nginx UI to 2.5.0 or later, which is the vendor-confirmed fixed release (https://github.com/0xJacky/nginx-ui/releases/tag/v2.5.0); the corrective change is the upstream commit https://github.com/0xJacky/nginx-ui/commit/a3999bd78a3b97ab22e6b5e9fd478ac57598a954 and full details are in advisory https://github.com/0xJacky/nginx-ui/security/advisories/GHSA-33rr-wq23-g6gg. If immediate upgrade is not possible, layer compensating controls with known trade-offs: enable OTP/Passkey multi-factor step-up on all administrator accounts, which per the advisory neutralizes the attack for those accounts but may break API automation that authenticates without step-up; deny untrusted network access to the management port and place Nginx UI behind a VPN or an authenticating reverse proxy, which adds operational friction for remote admins; and add reverse-proxy rules on management paths (especially POST /api/configs) that reject requests whose Origin or Referer does not match the Nginx UI host, or that lack a custom header the SPA sends, accepting that legitimate direct API clients and cross-origin integrations may need updating. Setting the token cookie to SameSite=Strict or Lax reduces automatic cross-site cookie attachment but can disrupt existing single-sign-on or embedded workflows. Do not rely on disabling the management UI alone as a fix; until 2.5.0 is applied, treat any session where an administrator browses untrusted sites as a potential config-tampering window.
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 (0xJacky/nginx-ui) is a Go/Gin-based web front end for managing an Nginx server, with a browser SPA client and REST management API. The flaw is CWE-352 (Cross-Site Request Forgery): after login the front end stores the JWT in a browser-managed cookie, and the AuthRequired middleware was changed to accept that cookie in place of an explicit Authorization header. Because Go's net/http cookie handling attaches that cookie automatically to any cross-site request to the same origin, and because sensitive API routes (e.g. POST /api/configs) did not universally require a CSRF token or validate Origin/Referer, a forged cross-origin form or fetch can ride the victim's authenticated session. The mechanism is classic cookie-borne ambient authority rather than a broken crypto primitive; the assessed vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H reflects full integrity and availability impact but no confidentiality impact, since cross-origin reads are blocked (the vendor's published vector differs by rating confidentiality High, an overstatement the independent assessment corrects). CPE data identifies the affected component generically as 0xjacky:nginx-ui, so version scoping must come from the advisory text rather than CPE bounds. Notably, the cited fix commit a3999bd78a3b97ab22e6b5e9fd478ac57598a954 is dominated by adjacent credential-hygiene hardening - audit-log sanitization that redacts Authorization and X-Node-Secret headers, the node_secret query parameter, and explicitly marked sensitive request/response bodies - plus a new nodeauth resty client for cluster node calls, indicating the 2.5.0 release bundled the CSRF correction with tighter credential handling for cluster and audit subsystems.
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:N/UI:R/S:U/C:H/I:H/A:H
Network CSRF needing no attacker privileges (PR:N) but a lured admin (UI:R); C:N because the attacker cannot read the response, while config writes and reloads give I:H/A:H.
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, AuthRequired accepts a browser-managed token cookie as an API credential after the front end stores the JWT in that cookie. Because management endpoints do not universally require a CSRF token or perform Origin or Referer validation, a remote attacker can induce a logged-in administrator's browser to submit authenticated cross-site state-changing requests, including POST /api/configs. The attack requires an administrator account without OTP/Passkey or a target endpoint that does not require secure-session proof. The attacker cannot read the cross-origin response but can modify Nginx configuration, trigger reloads, or invoke other management operations reachable with the victim's session. This issue is fixed in version 2.5.0.
Articles & Coverage 1
Technical POC Analysis
CWE-352 (CSRF), caused by a trust-boundary failure between browser-managed cookies and API bearer-token authentication in github.com/0xJacky/Nginx-UI.
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 versions 2.0.0 through 2.4.x contain a high-severity cross-site request forgery flaw (CVSS 8.8) that allows a remote attacker to rewrite production Nginx configuration and trigger reloads simply by luring a logged-in administrator to a hostile web page. Any engineering or platform team using these versions to administer internet-facing or internal Nginx fleets is exposed to blind configuration tampering, service disruption, and quiet erosion of traffic-routing and TLS controls; the attacker requires no credentials of their own (unauthenticated per CVSS PR:N), there is no public exploit identified at time of analysis, and no vendor-released patch identified at time of analysis.
No vendor patch available. Interim mitigations: enforce OTP/Passkey step-up authentication for all administrator accounts (a vendor-identified barrier to exploitation), restrict the Nginx UI management interface to trusted networks or VPN only, block or validate cross-origin POST requests to /api/configs and configuration-reload endpoints at a reverse proxy or WAF, set the JWT cookie SameSite attribute to Strict/Lax with short session lifetimes, and monitor/alert on all unauthorised configuration changes and reload events.
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
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
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-95892
GHSA-33rr-wq23-g6gg
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB