CVE-2026-107813: Nginx UI incomplete fix of authentication bypass in cluster router

CVE-2026-107813 · Severity: high · CVSS 8.8 · Published 2026-10-09

Nginx UI, a management interface for Nginx web servers, requires users to complete an additional authentication step (OTP) before performing sensitive operations. A recent fix applied this protection to single-node operations but missed the cluster management section. An attacker with a stolen authentication token can bypass this additional authentication step to add, modify, or delete cluster nodes—including stealing node credentials—and trigger cluster-wide Nginx restarts without completing the OTP step.

Technologies: github.com/0xJacky/Nginx-UI (Go), Nginx UI. Vendors: Go, Nginx UI.

Quick answers

Is CVE-2026-107813 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-107813 being exploited in the wild.
How severe is CVE-2026-107813?
High severity, with a CVSS score of 8.8, published 9 October 2026.
Which products and versions are affected?
github.com/0xJacky/Nginx-UI (Go) >= 1.9.10-0.20250517140552-daee3ac7ade1, < 1.9.10-0.20260728074433-a3999bd78a3b, SEMVER:introduced=1.9.10-0.20250517140552-daee3ac7ade1,fixed=1.9.10-0.20260728074433-a3999bd78a3b; Nginx UI <UNKNOWN>.
Is there a fix for CVE-2026-107813?
Yes. github.com/0xJacky/Nginx-UI (Go): upgrade to 1.9.10-0.20260728074433-a3999bd78a3b or later. Until then: Wrap the cluster router's mutation handlers (node CRUD, nodes/reload_nginx, nodes/restart_nginx, namespace CRUD) in middleware.RequireSecureSession() to match the protection applied to the nginx router, ensuring all sensitive operations require OTP step-up verification.</anigation> </invoke> Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-107813 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2026-107813?
Check whether you run github.com/0xJacky/Nginx-UI (Go) or Nginx UI 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.20260728074433-a3999bd78a3b or later
    go get github.com/0xJacky/Nginx-UI@v1.9.10-0.20260728074433-a3999bd78a3b

Wrap the cluster router's mutation handlers (node CRUD, nodes/reload_nginx, nodes/restart_nginx, namespace CRUD) in middleware.RequireSecureSession() to match the protection applied to the nginx router, ensuring all sensitive operations require OTP step-up verification.</anigation> </invoke>

Technical details

The vulnerability is an incomplete fix of a prior authentication bypass: while the nginx router wraps mutation handlers (reload/restart) in middleware.RequireSecureSession() to enforce OTP step-up, the parallel api/cluster router registers node CRUD, node reload/restart, and namespace CRUD operations directly on the authenticated group without the same middleware wrapper. An authenticated attacker with a stolen or persisted JWT but no fresh X-Secure-Session-ID can invoke POST /api/nodes, POST /api/nodes/reload_nginx, and other cluster mutations that are gated only by AuthRequired middleware, allowing read/write of node tokens and cluster-wide nginx restarts.

Affected products

  • Nginx UI Nginx UI <UNKNOWN>

Identifiers

  • CVE-2026-107813
  • GHSA-h246-wpgf-vmq5
  • GO-2026-6706

Timeline

  • 2026-10-09: disclosed: GHSA-h246-wpgf-vmq5 published

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