Read the docs

Missing authorization in Nginx UI cluster API skips OTP step-up

Priority MEDIUM 40CWE-862Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-862.

Summary

Nginx UI from 2.0.0 before 2.5.0 is affected. The api/cluster router lacks the RequireSecureSession check on node, namespace and Nginx reload or restart operations, an incomplete fix for CVE-2026-84315 (CWE-862). An authenticated user with OTP enabled who holds a stolen or persisted JWT can change nodes and namespaces, read or replace node credentials, and restart Nginx without a fresh second-factor step-up.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

Nginx UI is a web user interface for the Nginx web server. From 2.0.0 until 2.5.0, the api/cluster router exposes node and namespace mutation operations and cluster-wide Nginx reload or restart operations with AuthRequired but without RequireSecureSession. An authenticated OTP-enabled user possessing a stolen or persisted JWT can therefore perform node CRUD, read or replace node credentials, change namespaces, and invoke nodes/reload_nginx or nodes/restart_nginx without a fresh second-factor step-up. This issue is an incomplete fix for CVE-2026-84315 and is fixed in version 2.5.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00305 23rd percentileScored 2026-11-07
Fix Fixed nginx-ui (0xJacky): 2.5.0github.com/0xJacky/Nginx-UI (Go): 1.9.10-0.20260728074433-a3999bd78a3b

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
0xJackynginx-ui2.0.0 to before 2.5.02.5.0Patch availableCNA
—github.com/0xJacky/Nginx-UI (Go)1.9.10-0.20250517140552-daee3ac7ade1 to before 1.9.10-0.20260728074433-a3999bd78a3b1.9.10-0.20260728074433-a3999bd78a3bPatch availableGHSA-h246-wpgf-vmq5
  • nginx-ui Vendor0xJacky Affected 2.0.0 to before 2.5.0 Fixed in 2.5.0 Patch available CNA
  • github.com/0xJacky/Nginx-UI (Go) Vendor— Affected 1.9.10-0.20250517140552-daee3ac7ade1 to before 1.9.10-0.20260728074433-a3999bd78a3b Fixed in 1.9.10-0.20260728074433-a3999bd78a3b Patch available GHSA-h246-wpgf-vmq5

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:nginxui:nginx_ui:*:*:*:*:*:*:*:*2.0.0 to before 2.5.0Vulnerable0xJacky
  • cpe:2.3:a:nginxui:nginx_ui:*:*:*:*:*:*:*:* Versions 2.0.0 to before 2.5.0 Vulnerable ·0xJacky

Remediation

Nginx UI 2.5.0 is the fixed version named in the source description. The Go module github.com/0xJacky/Nginx-UI is fixed in 1.9.10-0.20260728074433-a3999bd78a3b.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA nginx-ui (0xJacky) Fixed in 2.5.0
  • Fix · GHSA-h246-wpgf-vmq5 github.com/0xJacky/Nginx-UI (Go) Fixed in 1.9.10-0.20260728074433-a3999bd78a3b Advisory →

Timeline

  1. 2026-10-09 Threatist record created from CVE-2026-107813
  2. 2026-10-09 Alias added: GHSA-h246-wpgf-vmq5
  3. 2026-10-11 Priority changed: LOW → MEDIUM

References

  • TI-2026-25478 Nginx UI: Unauthenticated MCP Endpoint Allows Remote Nginx Takeover CVSS 3.1CRITICAL 9.8
  • TI-2026-25472 nginx-ui Backup Restore Allows Tampering with Encrypted Backups CVSS 4.0CRITICAL 9.4
  • TI-2026-22288 Nginx UI: Unauthenticated Backup Download with Encryption Key Disclosure CVSS 3.1CRITICAL 9.8
  • TI-2024-15821 Nginx-UI arbitrary file write through the Import Certificate feature CVSS 3.1CRITICAL 9.8
  • TI-2026-70057 Code injection in Nginx UI backup restore allows code execution CVSS 4.0CRITICAL 9.4
  • TI-2026-32056 Nginx UI: Server-Side Request Forgery (SSRF) via Cluster Proxy Middleware Allows Access to Internal Services CVSS 3.1CRITICAL 9.9
See all 31 →

Sources