Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify fresh nginx-ui deployment
-
DeliverySend crafted backup archive to /api/restore
-
ExploitOverwrite app.ini with command injection
-
ExecutionWait for automatic restart
-
PersistTrigger TestConfigCmd execution
-
ImpactExecute arbitrary code as root
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 | Requires nginx-ui fresh installation within first 10 minutes after process startup before any authentication mechanisms are configured - this is the specific deployment state where /api/restore endpoint lacks authentication enforcement entirely. Attack vector is network-based (AV:N) requiring HTTP/HTTPS access to the nginx-ui management interface from attacker-controlled network position. No authentication credentials required (PR:N) during vulnerability window. User interaction required (UI:P) in form of triggering follow-up request after malicious backup restoration to execute injected TestConfigCmd. Exploitation limited to versions before 2.3.8. Highest impact in Docker deployments running nginx-ui process as root user. Does NOT affect installations past initial 10-minute window or those with network access controls blocking external /api/restore requests. |
| Impact | Real-world risk is HIGH despite narrow exploitation window. CVSS 4.0 score of 9.0 reflects network attack vector (AV:N), low attack complexity (AC:L), no privileges required (PR:N), but attack timing constraints (AT:P). The 10-minute unauthenticated window exists ONLY on fresh installations, significantly limiting exposure compared to persistent vulnerabilities. However, impact is CRITICAL when exploitable: complete system compromise (VC:H/VI:H/VA:H) with scope change to underlying infrastructure (SC:H/SI:H/SA:H), especially in Docker environments where nginx-ui typically runs as root. The attack requires user interaction (UI:P) to trigger command execution via follow-up request after restore, adding minor friction. No EPSS score available for probability assessment. No CISA KEV listing indicates exploitation has not been observed at scale in the wild. GitHub Security Advisory disclosure suggests vendor-coordinated release rather than active exploitation discovery. Primary risk scenario: attackers scanning for newly deployed nginx-ui instances during the vulnerability window, though automated exploitation at scale is constrained by timing requirements. Organizations with frequent fresh deployments face elevated exposure. |
| Exploit ScenarioDerived | Attacker scans IPv4 ranges for newly deployed nginx-ui instances exposing port 80/443 to internet. Upon discovering a fresh installation within its 10-minute unauthenticated window, attacker crafts a malicious backup archive containing app.ini with TestConfigCmd set to reverse shell command. Attacker POSTs this archive to /api/restore endpoint without credentials. Nginx-ui automatically restarts to apply restored configuration. Attacker sends single request triggering TestConfigCmd execution, establishing remote shell as root on Docker host. No public proof-of-concept code confirmed in references, but attack primitive is straightforward given detailed advisory disclosure. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 04, 2026
Remote code execution as root in nginx-ui versions before 2.3.8 via unauthenticated backup restore within 10-minute startup window. Attackers exploit the completely unauthenticated /api/restore endpoint during initial installation to upload malicious backup archives that overwrite app.ini configuration with injected OS commands in TestConfigCmd setting. After automatic application restart, command injection triggers with privileges of the nginx-ui process - typically root in Docker deployments. EPSS data not available; no active exploitation reported but publicly disclosed via GitHub Security Advisory GHSA-4pvg-prr3-9cxr. Patch released in version 2.3.8.
RemediationAI
Immediately upgrade to nginx-ui version 2.3.8 or later, released by vendor at https://github.com/0xJacky/nginx-ui/releases/tag/v2.3.8. For environments unable to patch immediately, implement network-level access controls to restrict /api/restore endpoint access during the critical 10-minute startup window: configure reverse proxy or firewall rules to block unauthenticated POST requests to /api/restore from external networks, allowing access only from trusted management subnets. This mitigation adds operational complexity to legitimate backup restoration workflows and requires careful coordination during deployment windows. For Docker deployments, run nginx-ui container under a non-root user account with least-privilege principles to limit command injection impact scope, though this may affect Nginx management capabilities requiring elevated permissions. Monitor authentication logs for unexpected /api/restore access attempts during fresh installations. No other workaround eliminates the underlying authentication bypass - version upgrade is the definitive remediation.
Affected VersionsENISA
Affected Packages
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 (CPE: cpe:2.3:a:0xjacky:nginx-ui) is a web-based management interface for Nginx web servers, commonly deployed in Docker containers running as root. The vulnerability stems from CWE-94 (Improper Control of Generation of Code/Code Injection) in the backup restoration logic. During the first 10 minutes after fresh installation startup, the POST /api/restore endpoint lacks authentication enforcement entirely. The endpoint accepts backup archives containing app.ini configuration files and SQLite databases. The application's TestConfigCmd configuration parameter accepts arbitrary shell commands intended for Nginx configuration validation. By crafting a malicious backup archive with injected commands in the restored app.ini file, attackers achieve code injection. The application automatically restarts to apply restored configurations, executing the injected command string through the TestConfigCmd mechanism with the process owner's privileges.
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
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Nginx UI is a web user interface for the Nginx web server. Prior to version 2.3.8, nginx-ui exposes a backup restore endpoint (POST /api/restore) that is completely unauthenticated during the first 10 minutes after process startup on any fresh installation. An unauthenticated remote attacker can upload a crafted backup archive that overwrites the application's configuration file (app.ini) and SQLite database. Because the attacker controls the restored app.ini, they can inject an arbitrary OS command into the TestConfigCmd setting. After the application automatically restarts to apply the restored config, a single follow-up request triggers that command as the user running nginx-ui - typically root in Docker deployments. This issue has been patched in version 2.3.8.
Executive ViewAI
nginx-ui versions before 2.3.8 contain a critical remote code execution vulnerability that allows unauthenticated attackers to execute arbitrary commands with root privileges during the 10-minute startup window. Organizations running vulnerable nginx-ui instances-particularly in containerized environments-face immediate risk of complete infrastructure compromise without authentication or user interaction.
Vendor-released patch: nginx-ui version 2.3.8. If immediate patching is not feasible: (1) Restrict network access to the nginx-ui instance to trusted networks only and disable external connectivity during startup; (2) Monitor access logs for requests to /api/restore endpoint and alert on any POST/PUT activity; (3) Disable nginx-ui temporarily or run in offline mode until patch deployment is possible; (4) Implement host-level controls restricting nginx-ui process capabilities and file system write permissions where feasible.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
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.
Unauthenticated backup download and RCE in Nginx UI before 2.3.3. EPSS 1.0%. PoC available.
Unauthenticated attackers who can reach a fresh, uninitialized Nginx UI instance before version 2.3.8 during its first-r
Nginx UI is a web user interface for the Nginx web server. Rated high severity (CVSS 8.9), this vulnerability is remotel
Nginx UI is a web user interface for the Nginx web server. Rated high severity (CVSS 7.7), this vulnerability is remotel
nginx-ui versions prior to 2.3.8 expose 40+ protected configuration fields through the GetSettings API to authenticated
nginx-ui prior to version 2.3.8 exposes sensitive configuration values including node.secret via an authenticated GET /a
Server-side request forgery in Nginx UI through 2.3.4 lets any authenticated user redirect API requests to an attacker-c
Unauthenticated bootstrap takeover in Nginx UI 2.3.5: any remote client that can reach a still-uninitialized instance du
Nginx-UI is a web interface to manage Nginx configurations. Rated critical severity (CVSS 9.8), this vulnerability is re
Authenticated administrators of Nginx UI releases 2.3.8 through 2.4.x can achieve remote code execution on the host by a
Configuration-validation bypass in Nginx UI (versions 2.0.0-rc.6 through 2.4.0) lets an authenticated low-privilege user
Nginx UI installations before 2.4.1 expose two account-security endpoints, POST /api/otp_enroll and POST /api/finish_pas
Same weakness CWE-94 – Code Injection
View allVendor StatusVendor
SUSE
Severity: Critical| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-27141
GHSA-4pvg-prr3-9cxr
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB