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

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, github.com/0xJacky/Nginx-UI (Go). Vendors: 0xJacky, 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
    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

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.