Skip to main content

Nginx UI EUVDEUVD-2026-95822

| CVE-2026-107806 CRITICAL
Code Injection (CWE-94)
2026-10-09 GitHub_M GHSA-p393-cf76-4jmr
9.4
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Obtain authenticated admin session
  2. Delivery
    POST crafted backup+key to /api/restore
  3. Exploit
    Decrypts and overwrites app.ini (TestConfigCmd)
  4. Execution
    POST /api/nginx/test triggers command
  5. Impact
    Arbitrary command execution in Nginx UI context

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated Nginx UI administrator with an active secure session (PR:H) - this is not remotely reachable by anonymous users. The specific prerequisite is access to the backup restore feature: the attacker submits attacker-controlled portable backup key material plus a matching manifest to POST /api/restore, which trusts the supplied key and overwrites the live app.ini (notably the protected TestConfigCmd setting). Execution is then triggered via POST /api/nginx/test. Limiting factors: the admin privilege requirement is the primary constraint; affected only on versions 2.3.8 through 2.4.x (fixed in 2.5.0); no end-user interaction is required beyond the attacker's own authenticated requests (UI:N). Instances not exposing an admin account to untrusted parties, or already upgraded to 2.5.0, are not exploitable.

Impact

This is a post-authentication code injection (CWE-94) leading to RCE in Nginx UI. The CVSS 4.0 score of 9.4 is Critical, but the vector itself is the key moderating signal: AV:N/AC:L/AT:N but PR:H means the attacker must already hold an authenticated administrator session before any exploitation is possible. This is confirmed by the description ('an authenticated administrator with an active secure session'). The high VC/VI/VA plus subsequent-system SC/SI/SA:H reflect that successful exploitation yields full command execution in the Nginx UI runtime context. No EPSS score, no CISA KEV listing, and no public POC were provided in the input - only the vendor patch commit and advisory. There is therefore no public exploit identified at time of analysis, and no evidence of active exploitation. Net assessment: the raw 9.4 overstates real-world urgency because exploitation requires pre-existing admin privileges; the realistic threat is privilege-consolidation / defense-in-depth (a malicious or compromised admin account, or a hijacked admin session, escalating from app-admin to OS-level command execution). Prioritize patching for internet-exposed instances, but this is not a mass-exploitable unauthenticated flaw. Note the PR:H dependency is confirmed by the CVSS vector and the description - these signals agree, so authentication requirement is not in doubt.

Exploit ScenarioDerived

An attacker who has obtained an authenticated Nginx UI administrator session (via credential theft, session hijacking, or insider access) submits a crafted portable backup - supplying their own key material and a matching manifest - to POST /api/restore. The restore flow trusts the attacker-supplied key, decrypts the attacker-controlled payload, and overwrites app.ini including the protected TestConfigCmd setting; the attacker then calls POST /api/nginx/test, causing their injected command to execute in the Nginx UI runtime context. No public POC was provided, but the fixing commit (a467ed6) is published and reveals the trust-level mechanics.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 09, 2026

Authenticated administrators of Nginx UI releases 2.3.8 through 2.4.x can achieve remote code execution on the host by abusing the backup restore endpoint to overwrite live configuration with attacker-controlled nginx command settings. The attacker submits attacker-controlled portable backup key material along with a matching manifest to POST /api/restore; because the restore flow trusts the supplied key and treats the backup as 'portable', it decrypts the attacker's payload and replaces the live app.ini, including the protected TestConfigCmd value, after which a call to POST /api/nginx/test executes the restored command inside the Nginx UI runtime. The issue is rated CVSS 9.4 (CVSS 4.0) and CVSS 3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H, is fixed in version 2.5.0, and at time of analysis there is no public exploit identified and no confirmed active exploitation (not listed in CISA KEV); the practical barrier is the high-privilege authenticated session required, so exposure is limited to instances where an admin account or session can be obtained by an untrusted party.

RemediationAI

Upgrade to Nginx UI 2.5.0 or later (vendor-released patch: 2.5.0), available from https://github.com/0xJacky/nginx-ui/releases/tag/v2.5.0 and detailed in advisory https://github.com/0xJacky/nginx-ui/security/advisories/GHSA-p393-cf76-4jmr, with the fix diff at commit a467ed652591fc0cd1b466a1ec751b493faef9f7; this is the only complete remedy because the flaw is in the restore logic itself. If immediate upgrade is not possible, the highest-value compensating control is to remove the prerequisite rather than the code path: ensure no untrusted party can obtain or use an Nginx UI administrator session (enforce strong unique credentials, MFA or an upstream SSO/identity-aware proxy, short session lifetimes, and immediate session invalidation on any suspicion), since exploitation requires an authenticated high-privilege session. Additionally, restrict access to the administrative API at the reverse proxy so that POST /api/restore and POST /api/nginx/test are reachable only from trusted management networks or IP allowlists - the trade-off is that legitimate backup restores and config tests must then originate from those networks. Treat app.ini and the backup/restore directories as sensitive and monitor or alert on writes to app.ini (especially changes to TestConfigCmd) and on restore requests referencing externally supplied keys or manifests, accepting that detection is a backstop and not a substitute for patching. Restricting the Nginx UI service account to the minimum OS privileges needed to manage Nginx reduces the blast radius of a successful injected command, though it will not prevent the injection itself; avoid untrusted or third-party backup archives entirely until the upgrade is applied.

Affected VersionsENISA

nginx-ui 2.3.8, < 2.5.0

Affected Packages

go github.com/0xjacky/nginx-ui fix: 1.9.10-0.20260728074146-a467ed652591
euvd nginx_ui_2_3_8 fix: 2.5.0

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

Nginx UI is a Go-based web front end for managing the Nginx web server, and its backup/restore subsystem handles archives containing a manifest, encrypted database contents, and configuration files such as app.ini. The root cause is CWE-94 (improper control of generation of code - code injection): the restore path accepted attacker-supplied 'portable' backup key material and a manifest whose trust provenance was not enforced, so the server decrypted arbitrary contents and applied them to live configuration, including settings explicitly classified as protected (notably TestConfigCmd, the command Nginx UI runs when testing an Nginx configuration). Code execution follows indirectly: the injected command string is invoked in the Nginx UI process context when the configuration test endpoint is triggered, giving the attacker the privileges of that service. The upstream fix (commit a467ed652591fc0cd1b466a1ec751b493faef9f7, released in v2.5.0) introduces explicit manifest trust levels - restoring a portable backup now yields ManifestTrustPortable and the restore result reports SkippedSettings, so protected settings are no longer overwritten; legacy manifests are handled as ManifestTrustCurrentServer. The same commit adds a new internal/backup/extract.go that hardens archive extraction with an extraction policy, deferred symlink creation so no later entry can be redirected through a link, absolute-symlink rewriting rooted at the Nginx config directory, and file operations constrained through a directory root handle - collateral hardening that closes symlink/zip-slip style paths into the same restore feature. CPE data (cpe:2.3:a:0xjacky:nginx-ui) confirms the affected package is the upstream 0xJacky/nginx-ui project rather than a third-party fork.

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_M) PRIMARY 9.4 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
vuln.today AI 9.1 CRITICAL

Remotely reachable API but requires an authenticated admin session (PR:H); low complexity; S:C because execution escapes the app into the OS/nginx command context with full C/I/A impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

Lifecycle Timeline

2
Patch available
Oct 09, 2026 - 16:02 EUVD
CVE Published
Oct 09, 2026 - 15:00 cve.org
CRITICAL 9.4

DescriptionCVE.org

Nginx UI is a web user interface for the Nginx web server. From 2.3.8 until 2.5.0, an authenticated administrator with an active secure session can submit attacker-controlled portable backup key material and a matching manifest to POST /api/restore. The restore flow trusts the supplied key, decrypts attacker-controlled contents, and replaces the live app.ini, including protected nginx command settings such as TestConfigCmd. Triggering POST /api/nginx/test then executes the restored command in the Nginx UI runtime context, affecting confidentiality, integrity, and availability. This issue is fixed in version 2.5.0.

Technical POC Analysis

CWE-94, code injection via externally influenced configuration.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Nginx UI versions 2.3.8 through 2.4.x contain a critical vulnerability that allows authenticated administrators to achieve remote code execution on the host, potentially compromising sensitive data and disrupting services. Although no public exploit has been identified, the flaw is rated CVSS 9.4 and requires immediate remediation via the vendor-released patch version 2.5.0 to prevent insider threats or compromised admin accounts from causing significant harm.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Low
niche self-hosted open-source nginx management UI, limited enterprise footprint
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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-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-84316 HIGH
8.8 Oct 12

Configuration validation bypass in Nginx UI (nginx-ui) prior to 2.4.1 lets an authenticated user with configuration-writ

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