CVE-2026-84319
Nginx UI: MCP configuration tools bypass restricted directive validation and allow secondary authenticated users to execute NJS in Nginx worker context
Published Oct 12, 2026 · updated Oct 15, 2026 · 0xJacky nginx-ui
## Summary The regular HTTP configuration API rejects restricted Nginx directives such as , , and . However, the MCP configuration interface allows a secondary authenticated user to write and apply equivalent restricted configuration content. In the lab, this allowed the user to load , import attacker-controlled JavaScript, reload Nginx, and execute NJS in the Nginx worker context. This is authenticated and is not OS command execution by itself. ## Affected component - - - MCP tool: - Nginx configuration validation ## Impact A secondary authenticated user can bypass the restricted directive validation enforced by the HTTP API and execute attacker-controlled NJS inside the Nginx worker context. This may allow modification of Nginx runtime behavior, including responses, routing, headers, redirects, and request handling. ## Minimal PoC ### Preconditions - Attacker has a secondary authenticated Nginx UI account. - MCP is enabled. - Nginx has NJS available: Observed in the lab: ### 1. HTTP API blocks the restricted config Request: Body: Observed result: ### 2. MCP writes the JavaScript file Open an MCP session and call with: ### 3. MCP writes the NJS-enabled nginx.conf Call again: ### 4. Verify NJS execution Inside the Nginx UI container: Observed response: This confirms that content rejected by the HTTP API can be applied through MCP and executed as NJS in the Nginx worker context. ## Expected behavior MCP configuration tools should enforce the same restricted directive validation as the HTTP API. ## Suggested fix Apply before MCP configuration writes and ensure HTTP API and MCP share the same validation tests for restricted directives such as: - - - - - -
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Oct 15, 2026 · GitHub Advisory Database
Detected
## Summary The regular HTTP configuration API rejects restricted Nginx directives such as , , and . However, the MCP configuration interface allows a secondary authenticated user to write and apply equivalent restricted configuration content. In the lab, this allowed the user to load , import attacker-controlled JavaScript, reload Nginx, and execute NJS in the Nginx worker context. This is authent
Oct 15, 2026 · GitHub Advisory Database
Fix available
github.com/0xJacky/Nginx-UI fixed in 1.9.10-0.20260703131214-23d1934099b0
Oct 15, 2026 · GitHub Advisory Database
Fix available
github.com/0xJacky/Nginx-UI fixed in 1.9.10-0.20260703131214-23d1934099b0
Oct 15, 2026 · GitHub Advisory Database
Updated
## Summary The regular HTTP configuration API rejects restricted Nginx directives such as , , and . However, the MCP configuration interface allows a secondary authenticated user to write and apply equivalent restricted configuration content. In the lab, this allowed the user to load , import attacker-controlled JavaScript, reload Nginx, and execute NJS in the Nginx worker context. This is authent
Affected
- Go github.com/0xJacky/Nginx-UI0 → 1.9.10-0.20260703131214-23d1934099b0
- golang github.comversion unspecified
- vendor 0xJacky nginx-uiversion unspecified
Sources
- CVE.orgVulnerability recordCVE-2026-84319
Nginx UI is a web user interface for the Nginx web server. Prior to 2.4.1, the regular HTTP configuration API rejects restricted Nginx directives such as load_module, js_import, and js_content. However, the MCP configuration interface allows a secondary authenticated user to writ
cve.org - GitHub Advisory DatabasePackage advisoryGHSA-5r62-gj48-897x
GitHub Advisory Database record mirrored by OSV.
github.com - GitLab Advisory DatabasePackage advisoryCVE-2026-84319
The regular HTTP configuration API rejects restricted Nginx directives such as load_module, js_import, and js_content. However, the MCP configuration interface allows a secondary authenticated user to write and apply equivalent restricted configuration content. In the lab, this allowed the user to load ngx_http_js_module.so, import attacker-controlled JavaScript, reload Nginx, and execute NJS in t
advisories.gitlab.com - OSV.devPackage advisoryGHSA-5r62-gj48-897x
Nginx UI: MCP configuration tools bypass restricted directive validation and allow secondary authenticated users to execute NJS in Nginx worker context
osv.dev