Description
Nginx UI is a web user interface for the Nginx web server. Prior to 2.4.1, config.ValidateConfigDirectives splits configuration by newline and checks only the first directive token on each line even though Nginx permits multiple semicolon-separated directives on one line. An authenticated caller can place a benign directive first and a restricted load_module, js_import, perl, or user root directive later on the same line, or can use an unrestricted include directive to load restricted content. These mechanisms bypass validation on REST, nginx_config_modify, site, and stream write paths; when an executable module is available, the injected configuration can execute code in the Nginx worker context. 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: Apply Patch
AI Analysis

Impact

Nginx UI prior to version 2.4.1 splits configuration files on newline characters and only validates the first directive token on each line. Because Nginx allows multiple semicolon‑separated directives on a single line, an authenticated user can place a harmless directive first and append a restricted directive such as load_module, js_import, perl, or user root on the same line. This bypasses the intended deny‑list validation on REST API endpoints that modify configuration, allowing the attacker to inject executable directives. When an executable module is available, the injected configuration causes code to run in the Nginx worker context, resulting in remote code execution.

Affected Systems

The vulnerability affects deployments of the 0xJacky Nginx UI project running any version earlier than 2.4.1, including the official Docker image. All REST API paths that modify configuration (nginx_config_modify, site, stream write) are susceptible, so any instance exposing these endpoints to authenticated users is at risk.

Risk and Exploitability

The CVSS score of 8.8 indicates high severity. No EPSS score is available, and the vulnerability is not listed in the CISA KEV catalog. The attack requires authenticated access to the REST API or configuration endpoints; once authenticated, an attacker can inject malicious directives via semicolon separation and achieve full code execution on the host, particularly if executable modules are present. The overall risk is substantial for systems that expose these endpoints or maintain privileged accounts.

Generated by OpenCVE AI on October 12, 2026 at 23:08 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Deploy the latest Nginx UI release (v2.4.1 or newer) to fix the configuration validation bug.
  • If immediate upgrade is not possible, restrict authentication to the configuration API so that only trusted users can modify settings, and apply the least‑privilege principle for account access.
  • Disable or remove execution‑capable directives such as load_module, js_import, perl, and user root in the Nginx configuration, and review the use of include directives to prevent loading of restricted content.

Generated by OpenCVE AI on October 12, 2026 at 23:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 12 Oct 2026 23:15: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, config.ValidateConfigDirectives splits configuration by newline and checks only the first directive token on each line even though Nginx permits multiple semicolon-separated directives on one line. An authenticated caller can place a benign directive first and a restricted load_module, js_import, perl, or user root directive later on the same line, or can use an unrestricted include directive to load restricted content. These mechanisms bypass validation on REST, nginx_config_modify, site, and stream write paths; when an executable module is available, the injected configuration can execute code in the Nginx worker context. This issue is fixed in version 2.4.1.
Title Nginx UI: nginx config directive denylist (ValidateConfigFile) is bypassable via same-line ";" separation → authenticated directive injection (RCE on the official image)
Weaknesses CWE-184
CWE-20
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-12T21:06:56.040Z

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

Link: CVE-2026-84316

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-84316

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-184

    Incomplete List of Disallowed Inputs

  • CWE-20

    Improper Input Validation