Description
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.
Published: 2026-10-12
Score: 8.8 High
EPSS: n/a
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

The vulnerability is caused by the MCP tool nginx_config_add bypassing the internal validation that normally blocks dangerous directives such as js_, perl_, load_module, and setting the user to root. Because the tool writes the supplied configuration directly to disk and reloads nginx, an authenticated caller can inject these directives and trigger arbitrary code execution in any environment where the njs or perl modules are enabled. This is a classic input validation failure combined with incorrect access control.

Affected Systems

The flaw affects the 0xJacky nginx-ui application before version 2.4.1. Deployments that use the official Docker image, which includes the njs and perl modules, are at risk if the MCP tool is exposed to authenticated users or agents that can be induced via prompt injection.

Risk and Exploitability

With a CVSS score of 8.8 and no EPSS data available, the severity remains high. The vulnerability can be exploited as long as an attacker can obtain authentication or induce an MCP agent, after which the vulnerable add command can be executed. Because the attack path requires only authenticated access, the risk is significant in environments that expose the MCP interface. The lack of a KEV listing does not mitigate the potential for exploitation, and the flaw should be mitigated as quickly as possible.

Generated by OpenCVE AI on October 12, 2026 at 22:57 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade nginx-ui to version 2.4.1 or later, where validation is enforced on all configuration paths.
  • If an upgrade is not immediately possible, disable or tightly restrict access to the MCP tool (mcp/config/config_add.go) by removing it from the container image or limiting network exposure to trusted users only.
  • As a temporary measure, enforce your own directive validation before writing configuration files, or manually remove any injected directives from the configuration and reload nginx safely.

Generated by OpenCVE AI on October 12, 2026 at 22:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 13 Oct 2026 00:00:00 +0000

Type Values Removed Values Added
First Time appeared 0xjacky
0xjacky nginx-ui
Vendors & Products 0xjacky
0xjacky nginx-ui

Mon, 12 Oct 2026 21:15:00 +0000

Type Values Removed Values Added
Description 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.
Title Nginx UI: MCP nginx_config_add skips config directive validation → authenticated nginx directive injection (RCE on the official image)
Weaknesses CWE-20
CWE-693
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

0xjacky Nginx-ui
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-12T20:59:58.019Z

Reserved: 2026-09-01T16:17:43.079Z

Link: CVE-2026-84317

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-12T21:17:22.213

Modified: 2026-10-12T21:17:22.213

Link: CVE-2026-84317

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-12T23:45:12Z

Weaknesses
  • CWE-20

    Improper Input Validation

  • CWE-693

    Protection Mechanism Failure