CVE-2026-84317: Nginx UI nginx_config_add directive validation bypass

CVE-2026-84317 · Severity: high · CVSS 8.8 · Published 2026-10-12

Nginx UI is a web interface for managing nginx web server configurations. An authenticated attacker or MCP agent can bypass security validation to inject dangerous nginx directives that are blocked elsewhere in the application, leading to arbitrary code execution as root in the nginx worker process on deployments with optional njs or perl modules enabled (including the official Docker image).

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

Quick answers

Is CVE-2026-84317 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-84317 being exploited in the wild.
How severe is CVE-2026-84317?
High severity, with a CVSS score of 8.8, published 12 October 2026.
Which products and versions are affected?
github.com/0xJacky/Nginx-UI (Go) < 1.9.10-0.20260703131214-23d1934099b0, SEMVER:introduced=0,fixed=1.9.10-0.20260703131214-23d1934099b0; Nginx UI 2.3.11 and earlier.
Is there a fix for CVE-2026-84317?
Yes. github.com/0xJacky/Nginx-UI (Go): upgrade to 1.9.10-0.20260703131214-23d1934099b0 or later. Until then: Restrict MCP endpoint access to trusted agents only and disable the njs and perl modules in nginx if not required for legitimate use. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-84317 attacked?
It is attacked over the network.
Am I affected by CVE-2026-84317?
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.20260703131214-23d1934099b0 or later
    go get github.com/0xJacky/Nginx-UI@v1.9.10-0.20260703131214-23d1934099b0

Restrict MCP endpoint access to trusted agents only and disable the njs and perl modules in nginx if not required for legitimate use.

Technical details

The MCP config_add endpoint fails to call ValidateConfigFile before writing user-supplied content to nginx config files, unlike three parallel code paths that do enforce validation. An authenticated MCP caller can inject js_*, perl_*, load_module directives and user root directives, achieving code execution when the njs or perl modules are present. This oversight occurred during an incomplete hardening patch (commit 3e411d38) that added validation to other paths but missed config_add.go.

Affected products

  • Nginx-UI Nginx UI 2.3.11 and earlier

Identifiers

  • CVE-2026-84317
  • GHSA-76pm-mq2q-9gcr
  • GO-2026-6779

Timeline

  • 2026-10-15: disclosed: GHSA-76pm-mq2q-9gcr advisory published

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