Critical Nginx UI Vulnerability Exposes Server Backups and Sensitive Data

CVE-2026-27944: Unauthenticated Access in Nginx UI Backup Endpoint
According to the official advisory, the vulnerability stems from the /api/backup endpoint in Nginx UI, which is accessible without any authentication controls. The advisory explains: “The /api/backup endpoint is accessible without authentication and discloses the encryption keys required to decrypt the backup in the X-Backup-Security response header.” Because of this design flaw, attackers exploiting CVE-2026-27944 can request a full system backup and receive the data directly from the server. Even though the backup files are encrypted, the encryption keys are exposed within the same HTTP response. This behavior reflects a classic example of CWE-306, where a critical function, downloading full system backups, is accessible without verifying the identity of the requester. The vulnerability affects Nginx UI versions earlier than 2.3.2, while version 2.3.3 contains a patch that addresses the issue.Technical Details Behind the CVE-2026-27944 Flaw
The root cause of CVE-2026-27944 lies in two implementation mistakes within Nginx UI. First, the backup endpoint is registered without authentication middleware in the api/backup/router.go file: While the restore endpoint includes a security middleware layer, the backup endpoint remains completely open. This oversight creates a severe CWE-306 security gap, allowing anyone to request sensitive backups. Second, the encryption key and initialization vector (IV) used to protect the backup files are transmitted in plaintext within the HTTP response header. The vulnerable code in api/backup/backup.go sends the keys through the X-Backup-Security header: The encryption scheme itself uses AES-256-CBC, with the key encoded in Base64 as a 32-byte value and the IV encoded as a 16-byte value. However, because CVE-2026-27944 exposes these keys alongside the encrypted file, attackers can decrypt the data instantly.Sensitive Data Exposed in Nginx UI Backups
A compromised Nginx UI backup contains a big amount of sensitive operational information. The archive includes multiple encrypted files that store core server data. For example, the nginx-ui.zip archive typically contains:- database.db – storing user credentials and session tokens
- app.ini – application configuration with secrets
- server.key and server.cert – SSL certificates
- nginx.conf – the primary Nginx configuration file
- sites-enabled directory – virtual host configuration files
- ssl directory – private SSL keys