Skip to main content

Nginx UI CVE-2026-84316

| EUVDEUVD-2026-97906 HIGH
Improper Input Validation (CWE-20)
2026-10-12 security-advisories@github.com GHSA-cf23-7qxj-xmhr
8.8
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to Nginx UI with config-write role
  2. Delivery
    Craft multi-directive line hiding restricted directive after semicolon
  3. Exploit
    Submit via REST/site/stream write path bypassing validation
  4. Execution
    Load executable module into Nginx worker
  5. Impact
    Execute arbitrary code in worker context

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Requires an authenticated Nginx UI session with permission to write configuration through the REST, nginx_config_modify, site, or stream write paths on a version prior to 2.4.1. The attacker crafts a single configuration line containing a benign directive followed by a semicolon-separated restricted directive (load_module, js_import, perl, or user root) - or an unrestricted include that pulls in restricted content - exploiting that ValidateConfigDirectives only checks the first token per newline-split line. The strongest outcome, arbitrary code execution in the Nginx worker, is LIMITED by the requirement that an executable/loadable Nginx module (.so) already be present on the host for the injected load_module directive to run. Limiting factors for defenders: valid authenticated credentials with config-write privilege are mandatory (not exploitable pre-auth), and the instance must be running a version before 2.4.1.

Impact

This is a genuine high-priority issue for anyone exposing Nginx UI, but the risk is gated by authentication. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, 8.8) indicates a network-reachable, low-complexity flaw requiring only low privileges (PR:L) - i.e. any authenticated caller with config-write access, not an anonymous attacker. The impact triad is uniformly High because a successful bypass leads to code execution in the Nginx worker context, effectively full compromise of the host's web-serving process. No EPSS score, CISA KEV listing, or public POC was provided in the input, so there is no public exploit identified at time of analysis; the exploitation-probability and active-exploitation signals are simply ABSENT, not low - do not read their absence as safety. The practical risk is tempered by two factors the raw score does not capture: (1) an attacker must first hold valid authenticated credentials with config-write permission, and (2) the strongest outcome - arbitrary code execution via load_module - additionally requires an executable Nginx module (.so) to already be present on the system. The CVSS vector and the description are consistent (both point to an authenticated remote actor), so there is no AV/PR conflict to flag. Net: a real, patch-now vulnerability for exposed instances, but it is an authenticated post-access escalation rather than a wormable unauthenticated RCE.

Exploit ScenarioDerived

An authenticated Nginx UI user with config-write access submits a configuration through a REST, nginx_config_modify, site, or stream write path, placing a harmless directive first on a line followed by a semicolon and a restricted directive such as load_module, perl, js_import, or user root - the validator only inspects the first token, so the restricted directive slips through. When a loadable Nginx module is available, the injected load_module directive causes code execution in the Nginx worker process; alternatively an unrestricted include directive pulls in attacker-controlled restricted content. No public exploit was identified at time of analysis, though the mechanism is fully documented in the vendor advisory and fix commit.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 12, 2026

Configuration validation bypass in Nginx UI (nginx-ui) prior to 2.4.1 lets an authenticated user with configuration-write privileges inject restricted Nginx directives by placing a benign directive first on a single line and appending a semicolon-separated restricted directive such as load_module, js_import, perl, or user root, because ValidateConfigDirectives only inspects the first token of each newline-split line. The flaw affects the REST, nginx_config_modify, site, and stream write paths and can escalate to arbitrary code execution in the Nginx worker context when a loadable Nginx module is already present on the host, a precondition that limits practical impact. No public exploit code was identified at the time of analysis, and the vendor released patch version 2.4.1.

RemediationAI

Upgrade to Nginx UI 2.4.1 or later, the vendor-released patch version, using the release at https://github.com/0xJacky/nginx-ui/releases/tag/v2.4.1 or by applying the change in commit https://github.com/0xJacky/nginx-ui/commit/23d1934099b05b2a01589b48129dc3d3159d91c2; the advisory at https://github.com/0xJacky/nginx-ui/security/advisories/GHSA-cf23-7qxj-xmhr is the authoritative reference. Until the update is deployed, the primary compensating control is to restrict configuration-write privileges on Nginx UI to fully trusted administrators and to audit or revert any configuration changes that introduce load_module, js_import, perl, user root, or unexpected include directives, though this manual review is error-prone and does not fully block the bypass. Administrators can also limit network exposure of the Nginx UI management interface by binding it to localhost or an isolated admin VLAN, or by fronting it with a reverse proxy that enforces strong authentication, and may disable the REST, nginx_config_modify, site, and stream write endpoints if web-based configuration management is not needed, accepting the loss of that functionality as the trade-off. These mitigations reduce risk but do not eliminate the validation flaw; patching is the only complete fix.

Affected VersionsENISA

nginx-ui < 2.4.1

Affected Packages

go github.com/0xjacky/nginx-ui fix: 1.9.10-0.20260703131214-23d1934099b0
euvd nginx_ui fix: 2.4.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The issue is a CWE-20 improper input validation defect in Nginx UI's config.ValidateConfigDirectives function, which is intended to reject dangerous Nginx configuration directives when users edit configs through the web interface. Nginx permits multiple directives on one physical line when separated by semicolons, but the validator splits input on newlines and evaluates only the first token of each line; an authenticated attacker (the CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H contains PR:L, confirming authentication is required) can therefore prefix a line with an allowed directive and append a restricted one such as load_module, js_import, perl, or user root, or use an unrestricted include directive to pull in restricted content. The bypass applies to the REST, nginx_config_modify, site, and stream write paths. Successful injection can reach arbitrary code execution in the Nginx worker process, but only when an executable Nginx module (.so) already exists on the host so that load_module has something runnable to load; that precondition limits the strongest outcome in practice. The referenced fix commit also adds middleware.RequireSecureSession() to backup auto-backup routes, an ancillary hardening change included alongside the validator fix. No CPE strings were provided in the available intelligence, so affected product identification relies on the GitHub advisory naming Nginx UI before 2.4.1.

Know when Nginx Ui gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Network-reachable web API (AV:N) exploitable with low effort (AC:L) by any authenticated config-write user (PR:L, no UI); injected directives yield worker-context code execution giving full C/I/A impact within the managed component (S:U).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 12, 2026 - 22:03 EUVD
CVE Published
Oct 12, 2026 - 21:17 cve.org
HIGH 8.8

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

Nginx UI (nginx-ui) deployments running versions earlier than 2.4.1 are exposed to a configuration-validation bypass that lets accounts holding configuration-write privileges insert restricted Nginx directives into the web server's running configuration through the REST, nginx_config_modify, site, and stream write paths. Because that escalation can reach arbitrary code execution in the Nginx worker context when a loadable Nginx module is already present on the host, a management-plane privilege could translate into execution on production web infrastructure, so leadership should care wherever Nginx UI configuration rights are delegated to multiple operators, contractors, or automation accounts. The need for an already-privileged account and a pre-installed loadable module keeps the realistic exposure narrower than the 8.8 base score alone suggests.

Business Impact: Medium
Compensating Controls

Apply vendor patch: Nginx UI 2.4.1 or later. Until every instance is upgraded, restrict network access to the nginx-ui management interface, reduce configuration-write privileges to the minimum set of operators, remove unused loadable Nginx modules from managed hosts to break the code-execution precondition, and alert on restricted directives (load_module, js_import, perl, user root) appearing in configuration writes.

Threat Intelligence Overview

EPSS Score
0.4%
Top 68% exploitable
Prevalence
Medium
popular open-source self-hosted Nginx management UI, moderate real-world footprint
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-27944 CRITICAL POC
9.8 Mar 05

Unauthenticated backup download and RCE in Nginx UI before 2.3.3. EPSS 1.0%. PoC available.

CVE-2024-49368 HIGH POC
8.9 Oct 21

Nginx UI is a web user interface for the Nginx web server. Rated high severity (CVSS 8.9), this vulnerability is remotel

CVE-2026-42221 HIGH POC
8.1 May 04

Unauthenticated attackers can hijack the administrator account during nginx-ui's first-run installation window by claimi

CVE-2024-49366 HIGH POC
7.7 Oct 21

Nginx UI is a web user interface for the Nginx web server. Rated high severity (CVSS 7.7), this vulnerability is remotel

CVE-2026-42220 MEDIUM POC
6.5 May 04

nginx-ui prior to version 2.3.8 exposes sensitive configuration values including node.secret via an authenticated GET /a

CVE-2024-23827 CRITICAL
9.8 Jan 29

Nginx-UI is a web interface to manage Nginx configurations. Rated critical severity (CVSS 9.8), this vulnerability is re

CVE-2026-107806 CRITICAL
9.4 Oct 09

Authenticated administrators of Nginx UI releases 2.3.8 through 2.4.x can achieve remote code execution on the host by a

CVE-2026-42238 CRITICAL
9.0 May 04

Remote code execution as root in nginx-ui versions before 2.3.8 via unauthenticated backup restore within 10-minute star

CVE-2026-84318 HIGH
8.8 Oct 12

Configuration-validation bypass in Nginx UI (versions 2.0.0-rc.6 through 2.4.0) lets an authenticated low-privilege user

CVE-2026-84313 HIGH
8.8 Oct 12

Nginx UI installations before 2.4.1 expose two account-security endpoints, POST /api/otp_enroll and POST /api/finish_pas

CVE-2026-107811 HIGH
8.8 Oct 09

Ordinary authenticated users of clustered Nginx UI deployments can read the cluster node token from the JSON responses o

CVE-2026-107813 HIGH
8.8 Oct 09

Missing second-factor step-up enforcement in the Nginx UI cluster API (versions 2.0.0 through 2.4.x) allows anyone holdi

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy