Read the docs
TI-2026-71317 Aliases CVE-2026-84317GHSA-76pm-mq2q-9gcr

Nginx UI MCP tool allows nginx directive injection

Priority HIGH 73CWE-20Published · 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-693.

Summary

Nginx UI, a web user interface for the Nginx web server, is affected before 2.4.1. The MCP tool nginx_config_add writes caller-supplied content to disk without the validation that blocks dangerous nginx directives such as js_*, perl_*, load_module and user root (CWE-20). An authenticated MCP caller, or an agent manipulated through prompt injection, can inject those directives and execute code through nginx where the njs or perl module is available, such as the official Docker image.

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. Prior to 2.4.1, internal/config/validation.go (ValidateConfigFile) is a security control that blocks dangerous nginx directives — js_*, perl_*, load_module of the njs/perl modules, and user root. It is enforced on three of the four config-write paths: api/config/add.go, api/config/modify.go, and mcp/config/config_modify.go. The fourth path — the MCP tool nginx_config_add (mcp/config/config_add.go) — does NOT call it: it writes the caller-supplied content straight to disk and reloads nginx. An authenticated MCP caller (or an MCP agent induced via prompt injection) can therefore inject exactly the directives the control is meant to block, leading to nginx code execution on deployments where the njs/perl module is available (e.g. the official Docker image). This issue is fixed in version 2.4.1.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00478 41st percentileScored 2026-11-07
Fix Fixed nginx-ui (0xJacky): 2.4.1github.com/0xJacky/Nginx-UI (Go): 1.9.10-0.20260703131214-23d1934099b0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
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-uibefore 2.4.12.4.1Patch availableCNA
—github.com/0xJacky/Nginx-UI (Go)before 1.9.10-0.20260703131214-23d1934099b01.9.10-0.20260703131214-23d1934099b0Patch availableGHSA-76pm-mq2q-9gcr
  • nginx-ui Vendor0xJacky Affected before 2.4.1 Fixed in 2.4.1 Patch available CNA
  • github.com/0xJacky/Nginx-UI (Go) Vendor— Affected before 1.9.10-0.20260703131214-23d1934099b0 Fixed in 1.9.10-0.20260703131214-23d1934099b0 Patch available GHSA-76pm-mq2q-9gcr

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:nginxui:nginx_ui:*:*:*:*:*:*:*:*——0xJacky
  • cpe:2.3:a:nginxui:nginx_ui:*:*:*:*:*:*:*:* Versions — — ·0xJacky

Remediation

Update Nginx UI to version 2.4.1, which fixes this issue. For the Go module github.com/0xJacky/Nginx-UI, the fixed version is 1.9.10-0.20260703131214-23d1934099b0.

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

  • Fix · CNA nginx-ui (0xJacky) Fixed in 2.4.1
  • Fix · GHSA-76pm-mq2q-9gcr github.com/0xJacky/Nginx-UI (Go) Fixed in 1.9.10-0.20260703131214-23d1934099b0 Advisory →

Timeline

  1. 2026-10-12 Threatist record created from CVE-2026-84317
  2. 2026-10-13 Priority changed: MEDIUM → LOW
  3. 2026-10-13 CISA SSVC decision points changed
  4. 2026-10-13 Priority changed: LOW → HIGH
  5. 2026-10-16 Alias added: GHSA-76pm-mq2q-9gcr
  6. 2026-10-16 Fix available: Go/github.com/0xJacky/[email protected] · GHSA-76pm-mq2q-9gcr
  7. 2026-10-16 CVSS score added · GHSA-76pm-mq2q-9gcr
  8. 2026-10-16 Weakness changed · GHSA-76pm-mq2q-9gcr
  9. 2026-10-16 5 new references · GHSA-76pm-mq2q-9gcr

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 43 →

Sources