---
id: "CVE-2026-107813"
kind: "vulnerability"
aliases: ["CVE-2026-107813", "GHSA-h246-wpgf-vmq5", "GO-2026-6706"]
title: "Nginx UI: Incomplete fix of CVE-2026-84315 - the api/cluster router was not - wrapped in RequireSecureSession, so those sensitive mutations run without OTP step-up in github.com/0xJacky/Nginx-UI"
severity: "high"
cvss: 8.8
epss: 0.00305
exploited: false
status: "open"
category: "package"
products: [{"name": "github.com/0xJacky/Nginx-UI", "fixed": ["1.9.10-0.20260728074433-a3999bd78a3b"], "affected": ">= 1.9.10-0.20250517140552-daee3ac7ade1, < 1.9.10-0.20260728074433-a3999bd78a3b", "ecosystem": "go"}]
ecosystems: ["go"]
tags: ["go", "nginx", "nginx-ui", "package", "self-hosted"]
not_affected_if: ["no-otp-enabled-users", "versions-at-or-after-fix", "versions-before-2.0.0"]
published_at: "2026-10-09T16:17:26+00:00"
first_seen_at: "2026-10-23T19:13:08+00:00"
updated_at: "2026-10-23T19:51:28+00:00"
sources: [{"source": "govuln", "url": "https://pkg.go.dev/vuln/GO-2026-6706", "first_seen_at": "2026-10-23T19:13:08+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-107813", "first_seen_at": "2026-10-23T19:13:43+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-107813", "first_seen_at": "2026-10-23T19:35:23+00:00"}]
---

# Nginx UI: Incomplete fix of CVE-2026-84315 - the api/cluster router was not - wrapped in RequireSecureSession, so those sensitive mutations run without OTP step-up in github.com/0xJacky/Nginx-UI

Nginx UI, a web interface for managing Nginx, leaves its cluster API routes without the OTP step-up check that protects other sensitive actions. An attacker holding a stolen or persisted login token can add, change or delete cluster nodes, read or replace node credentials, and reload or restart Nginx on nodes without a second factor.

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

## Affected

- go:github.com/0xJacky/Nginx-UI affected >= 1.9.10-0.20250517140552-daee3ac7ade1, < 1.9.10-0.20260728074433-a3999bd78a3b fixed 1.9.10-0.20260728074433-a3999bd78a3b

## How to check

Check the Go module version of github.com/0xJacky/Nginx-UI in go.mod or the running binary; affected range is up to but not including 1.9.10-0.20260728074433-a3999bd78a3b.

## Fix

Upgrade github.com/0xJacky/Nginx-UI to 1.9.10-0.20260728074433-a3999bd78a3b or later (the description says the fix is in 2.5.0).
Rotate JWTs and node credentials if the instance was exposed while vulnerable.

## Timeline

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

## From the sources

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.

---

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