Nginx UI 中新发现的一个严重漏洞允许未经身份验证的攻击者下载并解密完整的系统备份 。
该漏洞被追踪为 CVE-2026-27944,属于 CWE-306 和 CWE-311 类漏洞,最高 CVSS 评分为 9.8。
它会影响 2.3.2 之前的所有 Nginx UI 版本,管理员需要升级到 2.3.3 才能应用安全补丁。
该漏洞源于 Nginx UI Go 代码库中的两个重大安全缺陷。
/api/backup 端点缺少身份验证检查,与其他受保护的管理端点不同,它完全暴露在公共互联网上。
此外,该系统错误地将 Base64 编码的 AES-256 加密密钥和初始化向量 (IV) 以明文形式包含在 X-Backup-Security HTTP 响应标头中。
攻击者向备份端点发送标准 GET 请求,下载加密的 ZIP 存档,并使用请求标头中提供的密钥立即解锁其内容。
目前已有公开的概念验证 (PoC) 脚本,演示了如何使用 Python 轻松利用此漏洞提取目标文件。
一旦备份被解密,攻击者就能访问高度敏感的系统文件,包括包含用户凭据的 database.db 文件和 app.ini 配置文件。
通过此漏洞,所有 SSL 证书、私钥、Nginx 配置文件和虚拟主机设置都将完全暴露给攻击者。
有了这些信息,威胁行为者可以轻松接管 Nginx UI 管理控制台,或者通过中间人攻击拦截安全通信。
被盗的凭证和会话令牌还可以被利用来发起更深层次的网络入侵。
缓解措施
关于缓解和响应措施,将 Nginx UI 升级到 2.3.3 或更高版本是当务之急,也是最关键的措施。
根据 GitHub 的建议 ,各组织还应使用防火墙限制对 /api/backup 端点的网络访问,从而强制执行严格的访问控制。
在补丁应用之前,安全团队应阻止对 /api/backup 端点的公共访问,并将所有管理接口限制在受信任的内部网络内。
为了主动检测,安全团队必须监控服务器日志,以发现意外的或未经身份验证的 GET /api/backup HTTP 请求。
此外,为了检查是否直接暴露,管理员应持续检查传出的 HTTP 响应中是否存在包含泄露的 Base64 密钥的 X-Backup-Security 标头。



