---
id: "CVE-2026-84320"
kind: "vulnerability"
aliases: ["CVE-2026-84320", "GHSA-jrq7-xrjx-pcfw", "GO-2026-6788"]
title: "Nginx UI: Auto backup name allows path traversal outside validated storage path in github.com/0xJacky/Nginx-UI"
severity: "medium"
cvss: 6.3
epss: 0.00167
exploited: false
status: "open"
category: "package"
products: [{"name": "github.com/0xJacky/Nginx-UI", "fixed": ["1.9.10-0.20260715121709-f92218e01054"], "affected": "< 1.9.10-0.20260715121709-f92218e01054", "ecosystem": "go"}]
ecosystems: ["go"]
tags: ["go", "nginx", "nginx-ui", "package", "self-hosted"]
not_affected_if: ["auth-required", "no-auto-backup-users"]
published_at: "2026-10-12T21:17:22+00:00"
first_seen_at: "2026-10-23T19:13:08+00:00"
updated_at: "2026-10-23T19:57:53+00:00"
sources: [{"source": "govuln", "url": "https://pkg.go.dev/vuln/GO-2026-6788", "first_seen_at": "2026-10-23T19:13:08+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-84320", "first_seen_at": "2026-10-23T19:13:43+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-84320", "first_seen_at": "2026-10-23T19:35:23+00:00"}]
---

# Nginx UI: Auto backup name allows path traversal outside validated storage path in github.com/0xJacky/Nginx-UI

Nginx UI, a web interface for managing Nginx, lets an authenticated user set an automatic backup name containing path separators or '..' that escapes the validated backup directory. An attacker can write backup archives, and for encrypted backups the encryption key file, to arbitrary locations with the Nginx UI process's privileges.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- go:github.com/0xJacky/Nginx-UI affected < 1.9.10-0.20260715121709-f92218e01054 fixed 1.9.10-0.20260715121709-f92218e01054

## How to check

Check the version of github.com/0xJacky/Nginx-UI in go.mod or the running binary; anything older than 1.9.10-0.20260715121709-f92218e01054 is affected.
Review automatic backup configurations in the Nginx UI for names containing '/' or '..'.

## Fix

Upgrade github.com/0xJacky/Nginx-UI to 1.9.10-0.20260715121709-f92218e01054 or later (the description says 2.4.3).
Until patched, restrict who can create or modify automatic backups.

## Timeline

- 2026-10-23T19:13:08+00:00 govuln https://pkg.go.dev/vuln/GO-2026-6788
- 2026-10-23T19:13:43+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-84320
- 2026-10-23T19:35:23+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-84320

## From the sources

Nginx UI is a web user interface for the Nginx web server. Prior to 2.4.3, Nginx UI validates an automatic backup's storage_path, but AutoBackup.GetName returns a user-controlled name without rejecting path separators or parent-directory components, and downstream filename formatting embeds that result in the final archive filename. An authenticated user who can create or modify an automatic backup can cause filepath.Join to resolve the generated archive path outside the validated storage directory, allowing backup archives to be written with the Nginx UI process privileges. For encrypted configuration backups, the adjacent encryption key file can also be written outside the validated directory. This issue is fixed in version 2.4.3.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
