BadHost 漏洞使 AI 代理、评估器和 LLM 网关面临风险

BadHost 漏洞使 AI 代理、评估器和 LLM 网关面临风险

BadHost 漏洞使 AI 代理、评估器和 LLM 网关面临风险

一句话看懂:一个名为 BadHost(CVE-2026-48710)的高危漏洞影响了 Python Web 框架 Starlette(周下载量 3.25 亿次),攻击者通过在 HTTP Host 头中加入 ?/# 字符即可绕过基于路径的访问控制。该漏洞已在实际场景中被验证可用于攻击 vLLM 等 LLM 服务基础设施。

事件核心:发生了什么

安全研究机构 Secwest 与 X41 D-Sec 在审计开源推理引擎 vLLM 时发现了 BadHost 漏洞。其利用方式极为简单:攻击者发起 curl -H 'Host: foo?' http://target/admin 即可将服务本应返回 403 拒绝访问的路径,变为 200 成功返回。漏洞根源在于 Starlette 在重建 request.url 前未根据 RFC 9112/3986 语法验证 Host 头,导致恶意字符改变路径解析边界。尽管 CVSS 评分仅为 6.5(中等风险),研究人员认为应视为“严重”级别,因为它可导致下游应用的身份验证绕过、SSRF 乃至远程代码执行。Starlette 已在 1.0.1 版本中修复此漏洞。

为什么重要

该漏洞的严重性在于其“跨层交互”性质:ASGI 服务器传递原始 Host 头,Starlette 信任该头构建 URL,而中间件作者则认为 request.url.path 用于身份验证决策是安全的。受影响的 AI 服务(如 vLLM、评估器、LLM 网关)通常部署在内部网络、实验室子网和 LLM 研究环境,缺乏生产环境中的反向代理保护,导致它们直接暴露在 BadHost 攻击之下。特别值得警惕的是,MCP 服务器因规范要求使用未经身份验证的 OAuth 发现端点,为攻击者提供了额外的可靠利用途径。Hacker News 用户 ostif-derek 指出,由于漏洞被评为“中等”严重性,导致补丁部署率很低,这加剧了实际风险。

对用户/开发者/创作者的影响

对于 AI 基础设施开发者:如果你使用 Starlette/FastAPI 栈搭建了 vLLM、评估工具或 LLM 网关,且服务直接暴露在互联网上,应立即升级至 Starlette 1.0.1 或更高版本。可访问 badhost.org 使用在线扫描工具检查自有服务。对于运维人员:确保在服务前放置 CDN、负载均衡器或 API 网关,因为这些组件会过滤含有无效 DNS 字符的 Host 头。目前公开信息显示,使用前端 Web 服务器(如 Nginx)可有效降低风险。对于 AI 应用开发者:在自定义中间件中,不要仅依赖 request.url.path 进行身份验证或授权决策,应在更早的网关层强制执行访问控制。

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

值得关注的后续

1. 由于 Starlette 被大量 AI 项目依赖,补丁使用率可能仍会偏低,未来数月可能出现针对未更新基础设施的扫描和攻击活动。2. 安全社区可能会重新审视 CVSS 评分机制在供应链漏洞(尤其是涉及多个组件交互的漏洞)中的适用性。3. MCP 规范可能会因此调整认证端点的默认安全要求,推动更严格的输入验证成为行业最佳实践。

来源:InfoQ CN

celebrityanime
celebrityanime
文章: 6531

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注