CVE-2026-84312 Nginx UI: Casdoor SSO callback uses a constant `state` parameter (login CSRF)
An attacker can force a victim to complete an attacker-controlled OAuth flow, resulting in the victim being logged into the Nginx UI as the attacker.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-84312?
CVE-2026-84312 is a high-severity vulnerability in 0xJacky nginx-ui, published on 12 Oct 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
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.
Which versions are affected by CVE-2026-84312?
3 open source packages ship an affected version, including github.com/0xJacky/Nginx-UI.
| Package | Affected | Fixed in |
|---|---|---|
github.com/0xJacky/Nginx-UI Go | All versions | None |
github.com/0xJacky/Nginx-UI Go | All versions | 1.9.10-0.20260703131214-23d1934099b0 |
github.com/0xJacky/Nginx-UI Go | All versions | 1.9.10-0.20260703131214-23d1934099b0 |
How do I fix CVE-2026-84312?
Upgrade github.com/0xJacky/Nginx-UI to 1.9.10-0.20260703131214-23d1934099b0 or later.
Is CVE-2026-84312 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-84312 exists.
Sources
Also known as GHSA-44xr-mrhh-qm78, GO-2026-6773.