Skip to main content

Nginx UI CVE-2026-107810

| EUVDEUVD-2026-95894 HIGH
Improper Link Resolution Before File Access (CWE-59)
2026-10-09 GitHub_M GHSA-p8v3-89rh-jxc7
8.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to Nginx UI with backup rights
  2. Delivery
    Craft backup embedding symlink to config path
  3. Exploit
    Restore archive, symlink planted in staging
  4. Execution
    Write regular file through the link
  5. Impact
    Persistently inject config or trigger DoS

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
Exploitation Conditions

Exploitation requires an authenticated Nginx UI account (PR:L) that holds permission to create AND restore backups - the attacker must be able to supply a crafted backup archive and invoke the restore operation. The specific precondition is use of the internal/backup/restore.go restore path in versions 2.0.0 through 2.4.x, which extracts inner archives and creates symlinks before enforcing the restore_nginx and restore_nginx_ui flags; the attack succeeds even when both flags are false. Limiting factors: this is not remote-unauthenticated (a valid backup-capable login is mandatory), impact lands only after the tampered configuration files are later consumed by Nginx, and upgrading to 2.5.0 fully remediates. No special non-default Nginx UI configuration beyond the standard backup/restore feature is needed.

Impact

This is a credible, above-average-priority issue but not a drop-everything emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H, base 8.1 HIGH) is internally consistent with the description: the backup/restore workflow is reachable over the network through the Nginx UI web interface (AV:N), requires no victim interaction (UI:N), and demands only a low-privilege authenticated account that can create and restore backups (PR:L). The confidentiality impact is correctly N (the flaw writes files rather than reading them), while integrity (persistent config injection) and availability (DoS when malformed files are consumed by Nginx) are both High. There is NO CISA KEV listing and NO public exploit code referenced in the provided data, so exploitation status is 'no public exploit identified at time of analysis' - EPSS was not supplied and cannot be cited. No SSVC decision data was provided. The key limiting factor is the PR:L prerequisite: an attacker must already hold a valid Nginx UI account with backup privileges, which substantially narrows the realistic threat to malicious or compromised internal users rather than anonymous internet-wide scanning. Signals are not conflicting - the moderately high CVSS is driven by the I:H/A:H combination and offset in practice by the authentication requirement and the absence of any exploitation evidence.

Exploit ScenarioDerived

An authenticated Nginx UI user with backup/restore permissions crafts a malicious backup archive whose inner tree contains a symlink pointing at the live Nginx configuration path, then restores it; because symlinks are created before the restore_nginx/restore_nginx_ui flags are enforced, a subsequent regular-file write follows the link and overwrites the real config even with both restore flags set to false. No public exploit code was identified in the provided data, but the fix commit (a467ed6) and advisory confirm the mechanism.

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 09, 2026

Authenticated users of Nginx UI 2.0.0 through 2.4.x who hold permission to create and restore backups can persistently inject modified Nginx configuration or Nginx UI configuration files by crafting a backup archive that carries a symlink pointing at the live configuration path, achieving this even when the restore_nginx and restore_nginx_ui flags are both false. The flaw (CWE-59, link following) stems from the restore path extracting inner archives and materializing symlinks before the restore flags are enforced, so a regular file subsequently written through the staged link lands in the live configuration tree; the resulting tampering takes effect only when those files are later consumed by Nginx, and can produce denial of service. Rated CVSS 8.1 (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H), this requires a valid backup-capable login (PR:L) and is not a remote-unauthenticated attack, and no public exploit code was identified at time of analysis; vendor-released patch: 2.5.0 fully remediates the issue.

RemediationAI

Upgrade Nginx UI to version 2.5.0, which is the vendor-released patch that rewrites the extraction pipeline to create symlinks last and confine writes via os.OpenRoot, per the advisory at https://github.com/0xJacky/nginx-ui/security/advisories/GHSA-p8v3-89rh-jxc7 and the release at https://github.com/0xJacky/nginx-ui/releases/tag/v2.5.0 (fix commit a467ed652591fc0cd1b466a1ec751b493faef9f7). Until upgrading, restrict backup create/restore privileges to a minimal set of trusted administrators, since any account that can both author and restore a backup can exploit the flaw - this narrows the attack surface but does not eliminate risk from a compromised or malicious admin. Alternatively, disable the backup/restore feature if it is not operationally required, accepting the loss of a convenience workflow, and treat all inbound backup archives as untrusted by inspecting them for symlink entries before restoring; this is a manual, error-prone control that depends on operator diligence. Because impact materializes only when Nginx later consumes the tampered files, add file-integrity monitoring over the live Nginx configuration and Nginx UI settings directories to detect unexpected writes, and run Nginx UI with least privilege so a redirected write cannot escalate beyond the service account's reach.

Affected VersionsENISA

nginx-ui 2.0.0, < 2.5.0

Affected Packages

go github.com/0xjacky/nginx-ui fix: 1.9.10-0.20260728074146-a467ed652591
euvd nginx_ui_2_0_0 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 interface for administering the Nginx web server, and the defect lives in its backup/restore subsystem (internal/backup/restore.go), which is exposed through the authenticated API handler api/backup/restore.go. The root cause is a link-following / symlink-handling weakness (CWE-59) during archive extraction: the restore logic unpacked inner archives and created symlinks before it evaluated and applied the restore_nginx and restore_nginx_ui flags, and it permitted symlinks whose targets resolved into the live Nginx configuration path. An attacker with backup create-and-restore privileges can therefore place a symlink inside the staging tree and then cause a regular file to be written through that link, escaping the intended restore boundary. The upstream fix restructures extraction into a dedicated internal/backup/extract.go module that uses os.OpenRoot for confined writes and deliberately creates all symlinks last, so no later archive entry can redirect a file or directory write through a link; it also introduces a manifest trust model (TrustLevel, SkippedSettings, ManifestTrustPortable/ManifestTrustCurrentServer) and caps archive symlink target size at 16 KiB. The affected component is tracked as cpe:2.3:a:0xjacky:nginx-ui:*:*:*:*:*:*:*:*, and the tags (Denial Of Service, Nginx, Nginx Ui) align with the two realized outcomes: sustained configuration injection and denial of service once Nginx consumes the altered files.

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 8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
vuln.today AI 8.1 HIGH

Backup/restore is network-reachable (AV:N) and reliable (AC:L) but needs a low-privilege backup-capable account (PR:L); symlink write yields config integrity loss and DoS (I:H/A:H) with no read primitive (C:N).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 09, 2026 - 17:02 EUVD
CVE Published
Oct 09, 2026 - 15:25 cve.org
HIGH 8.1

DescriptionCVE.org

Nginx UI is a web user interface for the Nginx web server. From 2.0.0 until 2.5.0, internal/backup/restore.go extracts inner archives before applying the restore_nginx and restore_nginx_ui flags and permits symlinks targeting the live Nginx configuration path. An authenticated user who can create and restore backups can craft a valid backup that places a symlink in the staging tree and then writes a regular file through that link, even when both restore flags are false. This can persistently inject configuration or cause denial of service when the modified files are later consumed. This issue is fixed in version 2.5.0.

Technical POC Analysis

CWE-59 (Improper Link Resolution Before File Access / Link Following), also tagged CWE-61 in the advisory.

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

A flaw in Nginx UI (versions 2.0.0 through 2.4.x) allows any user with backup-creation privileges to silently overwrite the live Nginx and Nginx UI configuration through a crafted backup archive, meaning a single low-privilege account can disrupt or disable web services the organization depends on. Because the tampering persists in the configuration files themselves, the damage may only surface later during a reload or restart, complicating detection and root-cause analysis. Leadership should care because the exposure is limited to authenticated staff with backup rights, yet the resulting outage and integrity loss can affect every customer-facing service fronted by the affected Nginx instances.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 72% exploitable
Prevalence
Medium
popular open-source self-hosted Nginx management UI, moderate self-hosted 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 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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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

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