CVE-2026-42220Nginx UI在2.3.8版本之前存在安全漏洞。低权限认证用户可以通过调用GET /api/settings接口获取敏感配置信息,包括用于节点认证的node.secret。攻击者利用该泄露的密钥,可以通过X-Node-Secret头部或参数绕过正常的身份验证机制,以受信任节点的身份执行操作,最终提升权限或获取敏感数据。该问题已在2.3.8版本中修复。
该漏洞的核心在于对敏感信息的保护不足以及认证逻辑的缺陷。首先,应用程序允许已认证的普通用户访问 /api/settings 端点,该端点返回包含 node.secret 的配置数据。其次,在认证中间件 AuthRequired() 中,系统设计了一个受信任节点路径,通过校验 HTTP 头部 X-Node-Secret 或查询参数 node_secret 来验证请求。如果该密钥匹配配置中的 node.secret,系统将直接信任该请求并将其关联到 init 用户,从而绕过了常规的身份校验流程。攻击者只需利用普通账号权限读取密钥,随后利用该密钥构造请求,即可伪装成受信任节点,获得高权限访问能力。