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.
OpenCVE Enrichment
Github GHSA