# CVE-2026-84315: nginx-ui missing secure session step-up on sensitive mutation routes

Source: https://junglewise.ai/threats/cve-2026-84315-nginx-ui-otp-secure-session-step-up-is-missing-on-sensitive  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-12. Updated: 2026-10-15  
License: CC BY 4.0 with a link back

CVE-2026-84315 · Severity: high · CVSS 8.3 · Published 2026-10-12

Nginx UI is a web interface for managing Nginx server configurations. It includes a two-factor authentication mechanism with a 10-minute "secure session" requirement for sensitive operations. However, several critical authenticated routes—including DNS credential management, certificate automation, backup configuration, and Nginx control operations—lack this step-up protection. An attacker with a stolen authenticated session token from a 2FA-enabled user can perform these sensitive administrative actions without passing a fresh OTP challenge, potentially compromising backup credentials, DNS provider access, or certificate automation settings.

Technologies: [0xJacky Nginx-UI](https://junglewise.ai/threats/technologies/nginx-ui), [github.com/0xJacky/Nginx-UI (Go)](https://junglewise.ai/threats/technologies/github-com-0xjacky-nginx-ui). Vendors: [0xJacky](https://junglewise.ai/threats/vendors/0xjacky), [Go](https://junglewise.ai/threats/vendors/go).

## Quick answers

**Is CVE-2026-84315 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-84315 being exploited in the wild.

**How severe is CVE-2026-84315?** High severity, with a CVSS score of 8.3, published 12 October 2026.

**Which products and versions are affected?** 0xJacky Nginx-UI 2.3.10 and earlier; github.com/0xJacky/Nginx-UI (Go) < 1.9.10-0.20260703131214-23d1934099b0, SEMVER:introduced=0,fixed=1.9.10-0.20260703131214-23d1934099b0.

**Is there a fix for CVE-2026-84315?** Yes. github.com/0xJacky/Nginx-UI (Go): upgrade to 1.9.10-0.20260703131214-23d1934099b0 or later. Until then: Apply middleware.RequireSecureSession() to all high-impact authenticated mutation routes that alter credentials, automation, backups, DNS, certificates, or Nginx state. At minimum, wrap the auto-backup, DNS credential, ACME user, certificate, DNS domain/record, Nginx control, and site/stream advanced-mode route groups with the secure-session middleware. Add regression tests to verify OTP-enabled users receive 401 Unauthorized when these routes are accessed without a valid X-Secure-Session-ID header.</anigation>
<parameter name="fixed_in"><UNKNOWN> Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-84315 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-84315?** Check whether you run 0xJacky Nginx-UI or github.com/0xJacky/Nginx-UI (Go) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/0xJacky/Nginx-UI (Go): upgrade to 1.9.10-0.20260703131214-23d1934099b0 or later

  ```sh
  go get github.com/0xJacky/Nginx-UI@v1.9.10-0.20260703131214-23d1934099b0
  ```


Apply middleware.RequireSecureSession() to all high-impact authenticated mutation routes that alter credentials, automation, backups, DNS, certificates, or Nginx state. At minimum, wrap the auto-backup, DNS credential, ACME user, certificate, DNS domain/record, Nginx control, and site/stream advanced-mode route groups with the secure-session middleware. Add regression tests to verify OTP-enabled users receive 401 Unauthorized when these routes are accessed without a valid X-Secure-Session-ID header.</anigation>
<parameter name="fixed_in"><UNKNOWN>

## Technical details

The vulnerability is a missing authorization control enforcement on authenticated mutation endpoints. Nginx UI implements RequireSecureSession() middleware that validates a fresh 10-minute OTP/passkey token (X-Secure-Session-ID) before allowing sensitive config, site, and stream changes. However, routes for auto-backup management, DNS credentials, ACME users, certificate operations, DNS domains/records/DDNS, Nginx control (reload/restart), and site/stream advanced-mode mutations lack this middleware despite performing persistent state changes. An attacker with a valid JWT/session token but no fresh secure-session token can reach handlers that create/modify/delete credentials, automation rules, and trigger server operations, requiring only authenticated access (no OTP bypass needed).

## Affected products

- 0xJacky nginx-ui 2.3.10 and earlier

## Identifiers

- CVE-2026-84315
- GHSA-5v7c-xpfp-p65m
- GO-2026-6775

## Timeline

- 2026-10-15: disclosed: Vulnerability disclosed via GitHub Advisory GHSA-5v7c-xpfp-p65m

## Related threats

- [Nginx UI Casdoor SSO login CSRF via constant state parameter](https://junglewise.ai/threats/cve-2026-84312-nginx-ui-casdoor-sso-callback-uses-a-constant-state-parameter)
- [Nginx UI OTP secure-session step-up bypass via MCP](https://junglewise.ai/threats/cve-2026-84360-nginx-ui-otp-secure-session-step-up-can-be-bypassed-via-mcp)
- [Nginx UI short token cache bypass after account re-enable](https://junglewise.ai/threats/cve-2026-84321-nginx-ui-standalone-short-tokens-survive-administrative)
- [Nginx UI auto backup path traversal in storage boundary](https://junglewise.ai/threats/cve-2026-84320-nginx-ui-auto-backup-name-allows-path-traversal-outside-validated)
- [Nginx UI MCP configuration directive validation bypass](https://junglewise.ai/threats/cve-2026-84319-nginx-ui-mcp-configuration-tools-bypass-restricted-directive)
