Skip to main content

Nginx UI EUVDEUVD-2026-97963

| CVE-2026-84312 HIGH
Improper Authentication (CWE-287)
2026-10-12 GitHub_M GHSA-44xr-mrhh-qm78
7.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Craft attacker-controlled Casdoor authorization URL
  2. Delivery
    Lure victim admin to click link
  3. Exploit
    Victim browser completes OAuth callback
  4. Execution
    Callback mints Nginx UI session with no state binding
  5. Impact
    Account/session takeover of admin panel

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitable only when Nginx UI (prior to 2.4.1) is deployed with Casdoor OAuth/SSO configured, because the vulnerable GetCasdoorUri/CasdoorCallback flow uses the configured Casdoor application name as a constant OAuth 'state' and the callback does not bind that state to the initiating browser session. Exploitation is LIMITED by: (1) required victim interaction (UI:R) - the targeted user must be induced to open the attacker's authorization link; (2) the deployment must use Casdoor SSO - instances relying on local/password or other authentication are not affected; and (3) only versions before 2.4.1 are vulnerable. Attacker is unauthenticated (PR:N).

Impact

This is a genuine but conditionally-gated authentication flaw (CWE-287) rather than a universally critical issue. The CVSS vector (AV:N/AC:L/PR:N/UI:R) confirms a network-reachable, low-complexity, unauthenticated attack - strong signals - but it is tempered by UI:R (the victim must click an attacker-supplied link) and, critically, by the fact that the vulnerable code path (GetCasdoorUri/CasdoorCallback) only exists when the deployment is configured to use Casdoor OAuth/SSO. No EPSS score, CISA KEV listing, or public exploit was provided in the input, so there is no evidence of active exploitation or mass-scanning pressure at this time. The CVSS claims C:H/I:L, implying session/account compromise of the Nginx UI admin panel, which is plausible for a login-CSRF/OAuth-state flaw against a privileged management interface. Net: a legitimate medium-high priority for the subset of operators running Nginx UI with Casdoor SSO, but low urgency for the (likely majority) of deployments using local authentication. One data caveat worth flagging for triage: the provided source-code diff hardens backup endpoints with RequireSecureSession and does NOT directly show the OAuth state-binding fix described in the summary - the authoritative evidence for the specific flaw is the advisory GHSA-44xr-mrhh-qm78, not the shown hunk.

Exploit ScenarioDerived

An attacker running an Nginx UI instance configured with Casdoor crafts an authorization link using the fixed, predictable application-name 'state' value and lures a victim administrator into clicking it (e.g., via phishing). Because CasdoorCallback never binds the state to the victim's browser session, the victim's browser silently completes the attacker-controlled authorization flow and the callback mints an Nginx UI session for the identity returned by the attacker's authorization code. No public exploit identified at time of analysis; exploitation requires the network-reachable UI and victim interaction (UI:R).

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 12, 2026

Nginx UI deployments that use Casdoor OAuth/SSO for authentication can issue a valid application session for an attacker-chosen identity on versions prior to 2.4.1, because the OAuth 'state' value is a fixed constant (the configured Casdoor application name) and the callback never binds it to the browser session that started the login. An unauthenticated attacker who persuades a victim to open a crafted Casdoor authorization link can have the victim's browser complete the attacker-controlled authorization flow, after which the callback mints an Nginx UI session for the identity returned by that authorization code - yielding high confidentiality impact with limited integrity impact (CVSS 3.1 7.1, AV:N/AC:L/PR:N/UI:R). The flaw is conditionally gated: it only applies to instances with Casdoor OAuth configured and requires victim interaction, so it is a genuine authentication-bypass issue rather than a universally exploitable one; no public exploit code was identified at time of analysis, and a vendor-released patch in version 2.4.1 is available.

RemediationAI

Vendor-released patch: upgrade Nginx UI to version 2.4.1 or later (release tag v2.4.1, fix commit 23d1934), which binds the OAuth state to the initiating browser session and validates it in the callback; the same commit applies RequireSecureSession() to backup and auto-backup mutation endpoints, so upgrading also closes the JWT-only-session bypass on those routes. There is no configuration switch that makes pre-2.4.1 validate the state parameter, so if Casdoor SSO is configured, upgrading is the only complete fix. If immediate upgrade is not possible, the highest-value compensating control is to remove the exposure of the Casdoor login/callback path to untrusted users - restrict the Nginx UI administrative interface, including the callback endpoint, to a trusted management network or VPN, accepting the trade-off that legitimate SSO users must also be on that network or tunnel. Disabling Casdoor SSO and reverting to local password authentication eliminates the vulnerable flow entirely, at the cost of losing centralized identity management; enabling shorter session lifetimes and auditing/revoking unexpected sessions limits the persistence of any session minted before the patch is applied. Because exploitation requires victim interaction, user awareness also has a role: instruct administrators not to open unsolicited Nginx UI or Casdoor login links from external sources, though this is a weak control compared with patching. Review the advisory at https://github.com/0xJacky/nginx-ui/security/advisories/GHSA-44xr-mrhh-qm78 for the vendor's own guidance and confirm the deployed version before and after remediation.

Affected VersionsENISA

nginx-ui < 2.4.1

Affected Packages

go nginx-ui fix: 2.4.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in go

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 management front end for the Nginx web server, and the affected code lives in its Casdoor single-sign-on integration (GetCasdoorUri and CasdoorCallback). In OAuth 2.0 / OIDC authorization-code flows, the 'state' parameter is meant to be an unpredictable, per-session value echoed back by the identity provider so the client can verify that the callback corresponds to a login the same browser actually initiated; it is the primary CSRF defense for the redirect endpoint. Here GetCasdoorUri set state to the configured Casdoor application name - a static, publicly inferable constant - and CasdoorCallback accepted any submitted state without comparing it to a value bound to the initiating session, so the fix is classified CWE-287 (Improper Authentication). The practical consequence is a login-CSRF: the callback exchanges an attacker-obtained authorization code and creates an authenticated Nginx UI session in the victim's browser context, effectively logging the victim in as the attacker's Casdoor identity, which is why confidentiality impact is rated High while integrity is Limited and availability None. The referenced fix commit 23d1934 also hardens adjacent surface by requiring middleware.RequireSecureSession() on backup and auto-backup mutation endpoints (create, modify, delete, restore, S3 test), preventing JWT-only sessions - for example OTP-enabled accounts that have not completed the second factor - from performing those mutations. The CPE entry cpe:2.3:a:0xjacky:nginx-ui:*:*:*:*:*:*:*:* with a wildcard version matches all releases prior to the fix, confirming the entire pre-2.4.1 line is in scope when Casdoor is enabled.

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 7.1 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
vuln.today AI 7.1 HIGH

Unauthenticated and network-reachable (PR:N/AV:N) with a predictable constant state (AC:L), but requires victim to click a link (UI:R); successful session minting grants admin-panel access (C:H), with limited integrity and no availability impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:N/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
Low
Availability
None

Lifecycle Timeline

2
Patch available
Oct 12, 2026 - 23:04 EUVD
CVE Published
Oct 12, 2026 - 21:16 cve.org
HIGH 7.1

DescriptionCVE.org

Nginx UI is a web user interface for the Nginx web server. Prior to 2.4.1, GetCasdoorUri uses the configured Casdoor application name as a constant OAuth state value and CasdoorCallback does not compare the submitted state with a value bound to the initiating browser session. An unauthenticated attacker can cause a victim's browser to complete an attacker-controlled Casdoor authorization flow, and the callback can mint a Nginx UI session for the identity returned by that authorization code. This issue is fixed in version 2.4.1.

Executive ViewAI

Why It Matters

A high-severity authentication-bypass flaw in Nginx UI allows an unauthenticated attacker to obtain a fully valid administrative session for an identity of their choosing on any deployment that uses Casdoor OAuth/SSO for login. Exploitation requires tricking an employee into clicking a crafted authorization link, but the payoff is unauthorized control of the same management console that governs production web traffic and certificate handling. Because the vulnerable component is a management plane, leadership should treat successful exploitation as equivalent to handing an outsider the keys to ingress infrastructure, and should prioritize exposure reduction and log review over waiting for a vendor fix.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: disable Casdoor OAuth/SSO and revert to local authentication on affected Nginx UI instances; restrict management-console reachability to a trusted VPN, jump host, or internal-only network segment; enforce strict redirect-URI allowlisting on the Casdoor application so authorization codes are only accepted by known Nginx UI hostnames; require phishing-resistant MFA at the identity provider so a victim-completed flow cannot silently bind an attacker-chosen identity; and monitor Nginx UI authentication logs for session creation without a matching local login, alerting on sessions for unexpected identities or unfamiliar source addresses.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche self-hosted nginx management UI, limited enterprise footprint
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

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

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
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.

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