Description
Nginx UI is a web user interface for the Nginx web server. From 2.0.0-rc.6 until 2.4.1, the MCP tool nginx_config_add writes nginx configuration files to disk and triggers an nginx reload without calling config.ValidateConfigFile. The identical flow in the REST API (POST /api/configs) does call that function and correctly rejects dangerous directives. An authenticated attacker can exploit this gap to write config files containing any blocked directive (perl, js_import, load_module, user root, etc.), bypassing nginx-ui's entire security layer. On a server with the nginx Perl, njs, or Lua module loaded, this is post-authentication Remote Code Execution. This issue is fixed in version 2.4.1.
Published: 2026-10-12
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Authenticated Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

The vulnerability lies in the MCP tool `nginx_config_add`, which writes configuration files to disk without performing directive validation. An authenticated user can therefore add any disallowed directive—such as perl, js_import, load_module, or user root—to a configuration file. When the Nginx server reloads this file, any loaded module that processes the directive (for example Perl, njs, or Lua) will execute the embedded code, enabling the attacker to run arbitrary code on the host. This flaw is a misuse of authentication controls, corresponding to CWE‑693.

Affected Systems

The affected product is 0xJacky Nginx UI. Versions from 2.0.0‑rc.6 up to but excluding 2.4.1 are vulnerable. Systems running those releases with an authenticated account that can access the MCP or REST API, and an Nginx instance that has Perl, njs, or Lua modules enabled, are particularly at risk.

Risk and Exploitability

The CVSS score of 8.8 indicates high severity, while the EPSS metric is not available, so the likelihood of exploitation is unknown, and the flaw is not currently listed in CISA’s KEV catalog. The simplest attack path requires an authenticated session to the UI, followed by issuing the MCP command or POST /api/configs to write a configuration file with a dangerous directive. If the Nginx process is restarted or reloaded after that write, the embedded directive executes, giving the attacker remote code execution.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Nginx UI to version 2.4.1 or later, which restores proper validation of directives before configuration reloads.
  • Remove or disable any Perl, njs, or Lua modules from the Nginx installation if they are not needed, thereby limiting the potential impact of malicious directives.
  • After applying the patch and reloading Nginx, scan the generated configuration files to ensure no disallowed directives remain present.

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9jww-cxg5-rj9m Nginx UI: MCP `nginx_config_add` Bypasses Directive Validation — Authenticated RCE
History

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

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 12 Oct 2026 22: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 20:45:00 +0000

Type Values Removed Values Added
Description Nginx UI is a web user interface for the Nginx web server. From 2.0.0-rc.6 until 2.4.1, the MCP tool nginx_config_add writes nginx configuration files to disk and triggers an nginx reload without calling config.ValidateConfigFile. The identical flow in the REST API (POST /api/configs) does call that function and correctly rejects dangerous directives. An authenticated attacker can exploit this gap to write config files containing any blocked directive (perl, js_import, load_module, user root, etc.), bypassing nginx-ui's entire security layer. On a server with the nginx Perl, njs, or Lua module loaded, this is post-authentication Remote Code Execution. This issue is fixed in version 2.4.1.
Title Nginx UI: MCP `nginx_config_add` Bypasses Directive Validation — Authenticated RCE
Weaknesses 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-13T14:59:04.180Z

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

Link: CVE-2026-84318

cve-icon Vulnrichment

Updated: 2026-10-13T14:58:17.853Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-10-13T15:17:50.383

Link: CVE-2026-84318

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-12T21:45:17Z

Weaknesses
  • CWE-693

    Protection Mechanism Failure