事件经过
NextChat 的服务器端 LLM 代理由于子字符串而非正确的主机名验证接受欺骗的 base-URL 标头,允许未认证的远程攻击者重定向代理的出站请求——及其携带的 API 密钥——到他们控制的服务器。
影响分析
来自未认证攻击者的单个精心构造的 HTTP 请求完全泄露部署的 OpenAI 计费凭证,实现账户接管、财务滥用和任何随后通过攻击者端点代理的提示的数据暴露。
攻击途径
代理端点使用子字符串匹配而非主机名解析来验证 x-base-url 标头,所以未认证攻击者可以提交包含"api.openai.com"的精心构造的 x-base-url,该 URL 实际上解析为攻击者控制的主机,导致服务器的授权标头(携带 OpenAI API 密钥)被发送到该主机。
受影响系统
ChatGPTNextWeb NextChat 版本 2.15.8 至 2.16.1
缓解措施
升级 NextChat 至 2.16.1 之后(或应用主机名精确匹配验证);轮转任何暴露的 OPENAI_API_KEY;限制/禁用代理路由;使用出站白名单。