Read the docs

Code injection in Nginx UI backup restore allows code execution

Priority HIGH 76CWE-94Published · Updated

Key facts

Attack vector
Network
Privileges required
High
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-94.

Summary

Nginx UI versions from 2.3.8 before 2.5.0 are affected. The backup restore flow trusts attacker-supplied key material, so an authenticated administrator can replace the live app.ini with attacker-controlled contents, which is a code injection flaw (CWE-94). Running the Nginx configuration test then executes the injected command in the Nginx UI runtime, affecting confidentiality, integrity and availability. A public proof of concept is linked in the references.

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. 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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00571 47th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed nginx-ui (0xJacky): 2.5.0github.com/0xJacky/Nginx-UI (Go): 1.9.10-0.20260728074146-a467ed652591

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

VendorProductAffected versionsFixed inStatusSource
0xJackynginx-ui2.3.8 to before 2.5.02.5.0Patch availableCNA
—github.com/0xJacky/Nginx-UI (Go)1.9.10-0.20260421071512-7864e378f5cf to before 1.9.10-0.20260728074146-a467ed6525911.9.10-0.20260728074146-a467ed652591Patch availableGHSA-p393-cf76-4jmr
  • nginx-ui Vendor0xJacky Affected 2.3.8 to before 2.5.0 Fixed in 2.5.0 Patch available CNA
  • github.com/0xJacky/Nginx-UI (Go) Vendor— Affected 1.9.10-0.20260421071512-7864e378f5cf to before 1.9.10-0.20260728074146-a467ed652591 Fixed in 1.9.10-0.20260728074146-a467ed652591 Patch available GHSA-p393-cf76-4jmr

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:nginxui:nginx_ui:*:*:*:*:*:*:*:*2.3.8 to before 2.5.0Vulnerable0xJacky
  • cpe:2.3:a:nginxui:nginx_ui:*:*:*:*:*:*:*:* Versions 2.3.8 to before 2.5.0 Vulnerable ·0xJacky

Remediation

Upgrade nginx-ui to version 2.5.0. For the github.com/0xJacky/Nginx-UI Go module, use version 1.9.10-0.20260728074146-a467ed652591.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA nginx-ui (0xJacky) Fixed in 2.5.0
  • Fix · GHSA-p393-cf76-4jmr github.com/0xJacky/Nginx-UI (Go) Fixed in 1.9.10-0.20260728074146-a467ed652591 Advisory →

Timeline

  1. 2026-10-09 Threatist record created from CVE-2026-107806
  2. 2026-10-10 Alias added: GHSA-p393-cf76-4jmr
  3. 2026-10-10 Fix available: Go/github.com/0xJacky/[email protected] · GHSA-p393-cf76-4jmr
  4. 2026-10-10 CVSS score added · GHSA-p393-cf76-4jmr
  5. 2026-10-10 Weakness changed · GHSA-p393-cf76-4jmr
  6. 2026-10-10 5 new references · GHSA-p393-cf76-4jmr
  7. 2026-10-14 CISA SSVC decision points changed
  8. 2026-10-14 Priority changed: MEDIUM → HIGH
  9. 2026-10-21 CVSS score added · NVD

References

  • 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-32056 Nginx UI: Server-Side Request Forgery (SSRF) via Cluster Proxy Middleware Allows Access to Internal Services CVSS 3.1CRITICAL 9.9
  • TI-2026-30543 nginx-ui: Unauthenticated first-boot instance claim via POST /api/install allows remote bootstrap takeover CVSS 3.1CRITICAL 9.8
See all 31 →

Sources