---
id: "CVE-2026-84312"
kind: "vulnerability"
aliases: ["CVE-2026-84312", "GHSA-44xr-mrhh-qm78", "GO-2026-6773"]
title: "Casdoor SSO callback uses a constant state parameter (login CSRF) in github.com/0xJacky/Nginx-UI"
severity: "high"
cvss: 7.1
epss: 0.00175
exploited: false
status: "open"
category: "package"
products: [{"name": "github.com/0xJacky/Nginx-UI", "fixed": [], "affected": "all versions", "ecosystem": "go"}]
ecosystems: ["go"]
tags: ["casdoor", "go", "nginx-ui", "package", "self-hosted"]
not_affected_if: ["casdoor-sso-disabled", "version-2.4.1-or-later"]
published_at: "2026-10-12T22:17:05+00:00"
first_seen_at: "2026-10-23T19:13:08+00:00"
updated_at: "2026-10-23T19:56:21+00:00"
sources: [{"source": "govuln", "url": "https://pkg.go.dev/vuln/GO-2026-6773", "first_seen_at": "2026-10-23T19:13:08+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-84312", "first_seen_at": "2026-10-23T19:13:43+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-84312", "first_seen_at": "2026-10-23T19:35:23+00:00"}]
---

# Casdoor SSO callback uses a constant state parameter (login CSRF) in github.com/0xJacky/Nginx-UI

Nginx UI's Casdoor SSO login uses a fixed value as the OAuth state parameter and never checks it against the browser session. An attacker can get a victim's browser to finish a login the attacker started, and the callback then creates an Nginx UI session for the attacker's identity.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- go:github.com/0xJacky/Nginx-UI affected all versions fixed ?

## How to check

Check the version of github.com/0xJacky/Nginx-UI in use; it is affected before 2.4.1.
If Casdoor SSO is enabled in the Nginx UI config, the instance is exposed to this flaw.

## Fix

Upgrade github.com/0xJacky/Nginx-UI to 2.4.1 or later.
Until then, disable Casdoor SSO login if it is enabled.

## Timeline

- 2026-10-23T19:13:08+00:00 govuln https://pkg.go.dev/vuln/GO-2026-6773
- 2026-10-23T19:13:43+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-84312
- 2026-10-23T19:35:23+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-84312

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
