乐于分享
好东西不私藏

Nginx UI严重漏洞:攻击者可下载完整系统备份

Nginx UI严重漏洞:攻击者可下载完整系统备份

近日,Nginx UI 中被发现一处严重漏洞,未经身份验证的攻击者能够利用该漏洞下载并解密完整的系统备份。

该漏洞编号为 CVE-2026-27944,被归类为 CWE-306(关键功能缺少身份验证)和 CWE-311(敏感数据明文传输),其 CVSS 评分为 9.8(严重)。

受影响的版本为 Nginx UI 2.3.2 及之前所有版本,官方已在 2.3.3 版本中修复,管理员应立即升级。


一、漏洞根源:两大安全缺陷

该漏洞源于 Nginx UI Go 代码库中的两个严重安全失误:

  1. /api/backup 端点完全暴露与其他受保护的管理端点不同,/api/backup 接口未进行任何身份验证检查,直接向公网开放。

  2. 加密密钥明文传输系统在 HTTP 响应头 X-Backup-Security 中,以明文形式返回了 Base64 编码的 AES-256 加密密钥和初始化向量(IV)


二、攻击方式

攻击者只需向备份端点发送一个普通的 GET 请求,即可下载加密的 ZIP 压缩包。同时,响应头中携带的密钥可立即用于解密压缩包内容——整个过程简单直接。

目前已有公开的概念验证(PoC)脚本,演示了如何通过 Python 轻松利用该漏洞提取目标文件。


三、泄露的数据

一旦备份被解密,攻击者将获得以下高度敏感的系统文件

  • database.db:包含用户凭据的数据库文件

  • app.ini:应用程序配置文件

进一步地,所有 SSL 证书、私钥、Nginx 配置文件以及虚拟主机设置也完全暴露在攻击者面前。


四、后续攻击风险

掌握这些信息后,攻击者可以:

  • 接管 Nginx UI 管理控制台

  • 通过中间人攻击拦截加密通信

  • 利用窃取的会话令牌和凭证,横向渗透至内部网络


五、缓解措施

1、立即行动:升级至 2.3.3 或更高版本

根据 GitHub 的安全公告,最紧急的修复措施是将 Nginx UI 升级到 2.3.3 或更高版本

2、严格访问控制

  • 使用防火墙限制对 /api/backup 端点的网络访问

  • 在补丁应用前,阻止对 /api/backup 的公网访问,并将所有管理接口限制在可信内网中

3、主动检测

安全团队应密切监控服务器日志,查找未经验证的 GET /api/backup 请求同时,持续检查出站 HTTP 响应中是否包含 X-Backup-Security 头,该头的出现意味着加密密钥已泄露。


此次漏洞再次警示:即使管理接口存在,也必须对所有敏感端点实施身份验证;同时,任何加密密钥都绝不能以明文形式传输。立即检查您的 Nginx UI 版本,并采取相应措施。