Skip to main content

Nginx UI CVE-2026-107809

| EUVDEUVD-2026-95892 HIGH
Cross-Site Request Forgery (CSRF) (CWE-352)
2026-10-09 GitHub_M GHSA-33rr-wq23-g6gg
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
    Lure logged-in admin to malicious page
  2. Exploit
    Browser auto-submits forged POST /api/configs
  3. Execution
    Cookie-based JWT authenticates request
  4. Impact
    Modify 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.

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

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

Alert me

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

nginx-ui 2.0.0, < 2.5.0

Affected Packages

go github.com/0xjacky/nginx-ui fix: 1.9.10-0.20260728074433-a3999bd78a3b
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 (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

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

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.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
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:22 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, 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.

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Medium
popular self-hosted open-source Nginx management UI, not enterprise-ubiquitous
Threat Intel
1
1 source
Data Quality
4 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

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.2%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

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

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

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-107811 HIGH
8.8 Oct 09

Ordinary authenticated users of clustered Nginx UI deployments can read the cluster node token from the JSON responses o

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