Nginx UI config validation bypass allows directive injection
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
Nginx UI by 0xJacky before 2.4.1 checks only the first directive on each line of nginx configuration, although Nginx accepts several semicolon-separated directives per line (CWE-184). An authenticated user can place a restricted directive such as load_module, js_import, perl or user root after a benign directive on the same line, or use include to load restricted content. When an executable module is available, the injected configuration can execute code in the Nginx worker context.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| 0xJacky | nginx-ui | before 2.4.1 | 2.4.1 | Patch available | CNA |
| — | github.com/0xJacky/Nginx-UI (Go) | before 1.9.10-0.20260703131214-23d1934099b0 | 1.9.10-0.20260703131214-23d1934099b0 | Patch available | GHSA-cf23-7qxj-xmhr |
- nginx-ui Vendor0xJacky Affected before 2.4.1 Fixed in 2.4.1 Patch available CNA
- github.com/0xJacky/Nginx-UI (Go) Vendor— Affected before 1.9.10-0.20260703131214-23d1934099b0 Fixed in 1.9.10-0.20260703131214-23d1934099b0 Patch available GHSA-cf23-7qxj-xmhr
Remediation
Upgrade nginx-ui to version 2.4.1. The Go module github.com/0xJacky/Nginx-UI is fixed in 1.9.10-0.20260703131214-23d1934099b0.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA nginx-ui (0xJacky) Fixed in 2.4.1
- Fix · GHSA-cf23-7qxj-xmhr github.com/0xJacky/Nginx-UI (Go) Fixed in 1.9.10-0.20260703131214-23d1934099b0 Advisory →
Timeline
- 2026-10-12 Threatist record created from CVE-2026-84316
- 2026-10-13 CISA SSVC decision points changed
- 2026-10-13 Priority changed: MEDIUM → HIGH
- 2026-10-16 Alias added: GHSA-cf23-7qxj-xmhr
- 2026-10-16 Fix available: Go/github.com/0xJacky/[email protected] · GHSA-cf23-7qxj-xmhr
- 2026-10-16 CVSS score added · GHSA-cf23-7qxj-xmhr
- 2026-10-16 Weakness changed · GHSA-cf23-7qxj-xmhr
- 2026-10-16 5 new references · GHSA-cf23-7qxj-xmhr
References
More 0xJacky vulnerabilities
- TI-2026-25478 Nginx UI: Unauthenticated MCP Endpoint Allows Remote Nginx Takeover CVSS 3.1CRITICAL 9.8
- TI-2026-25472 nginx-ui Backup Restore Allows Tampering with Encrypted Backups CVSS 4.0CRITICAL 9.4
- TI-2026-22288 Nginx UI: Unauthenticated Backup Download with Encryption Key Disclosure CVSS 3.1CRITICAL 9.8
- TI-2024-15821 Nginx-UI arbitrary file write through the Import Certificate feature CVSS 3.1CRITICAL 9.8
- TI-2026-70057 Code injection in Nginx UI backup restore allows code execution CVSS 4.0CRITICAL 9.4
- TI-2026-32056 Nginx UI: Server-Side Request Forgery (SSRF) via Cluster Proxy Middleware Allows Access to Internal Services CVSS 3.1CRITICAL 9.9
Sources
- CVE-2026-84316 · CVE Program
- CVE-2026-84316 · NVD
- FIRST EPSS
- GHSA-cf23-7qxj-xmhr · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences