← 返回首页|安全博客

BadHost漏洞威胁AI代理,Starlette紧急修复

📅 2026-06-10

一、漏洞概述:一个Host头字符即可绕过认证

2026年6月9日,安全研究团队Secwest与X41 D-Sec联合披露了一个严重影响Python Web框架Starlette的高危身份验证绕过漏洞,编号CVE-2026-48710。该漏洞被命名为"BadHost",影响Starlette框架的所有版本(已在1.0.1版本中修复)。Starlette是Python生态中使用最广泛的Web框架之一,每周下载量高达3.25亿次,是FastAPI、Uvicorn等流行工具的基础组件。

BadHost漏洞的利用方式极为简单——攻击者只需在HTTP请求的Host头中插入"/"、"?"或"#"等特殊字符,即可绕过基于路径的访问控制。研究人员演示了以下攻击方式:正常的访问请求/admin路径会返回403拒绝访问,但将Host头改为"foo?"后,即可成功获取200响应。其根本原因在于Starlette在重建request.url时,未按照RFC 9112和RFC 3986标准对Host头进行语法验证,直接将Host值与请求路径拼接后重新解析,导致攻击者可以通过特殊字符改变路径边界,使身份验证中间件误判请求路径。

二、从vLLM到MCP服务器:AI基础设施面临真实威胁

值得警惕的是,BadHost漏洞是在对vLLM——流行的开源LLM推理引擎——进行源代码审计时被发现的。这意味着从Starlette漏洞到LLM服务攻破的路径并非理论推演,而是实际存在的攻击链路。更令人担忧的是,受影响的AI服务通常部署在内部网络、实验室子网和LLM研究环境中,这些环境缺乏生产系统中常见的反向代理保护,如CDN、负载均衡器或API网关,导致它们直接暴露在BadHost的攻击范围内。

MCP(Model Context Protocol)服务器面临的风险尤为突出。研究人员明确指出,MCP规范要求使用未经身份验证的OAuth发现端点,这为攻击者提供了可靠的利用路径。通过BadHost漏洞,攻击者可以绕过访问控制,进而引发身份验证绕过、SSRF(服务端请求伪造)甚至远程代码执行等严重后果。

值得注意的是,即使Anthropic的Claude Mythos——曾在Glasswing项目中识别出超过10000个漏洞——也未能发现BadHost。这是因为该漏洞并非存在于单一文件或代码库中,而是涉及ASGI服务器、Starlette框架和中间件三层组件的交互缺陷。每个组件在孤立状态下均行为正常,仅在交互时才会显现漏洞。这也提醒我们,传统的静态代码扫描工具难以发现此类跨层交互漏洞。

在Hacker News上,安全研究员ostif-derek发出警告:"将该漏洞评定为中等严重性,严重低估了它对数千个下游项目和数十亿次安装造成的冲击。大家必须尽快打补丁。"

三、修复建议与青海政企安全启示

目前,Starlette已在1.0.1版本中修复了该漏洞。开发者应立即执行升级命令:pip install --upgrade starlette。对于使用FastAPI的用户,由于FastAPI依赖Starlette作为底层框架,同样需要升级至兼容版本。安全研究人员还在badhost.org网站提供了免费在线扫描工具,用于检测服务是否受该漏洞影响。

通过CDN、负载均衡器或API网关部署服务可以有效缓解该漏洞,因为这些前置组件通常会过滤掉包含无效字符的Host头。但这并不意味着可以忽视直接升级——内部网络中的AI推理服务、MCP服务器和开发测试环境往往没有网关保护,是攻击者的重点目标。

对于青海地区的政企单位和AI研发团队,本漏洞具有重要的现实参考价值。随着青海绿色算力产业的快速发展,越来越多的大模型推理服务和AI代理应用正在部署上线。结合本漏洞的特点,建议相关单位立即采取以下措施:第一,全面排查内部Starlette和FastAPI服务版本,确保升级至1.0.1及以上版本;第二,对AI推理环境和MCP服务器进行专项安全审计,确认是否存在直接暴露在内部网络且无反向代理保护的情况;第三,在开发测试环境与生产环境之间强制部署API网关或反向代理,建立多层级纵深防护体系;第四,定期使用badhost.org等在线扫描工具对暴露面进行漏洞检测。

该漏洞再次证明,在AI基础设施快速建设的过程中,基础Web框架的安全性同样不容忽视。无论是大型云服务商还是青海本地的政企信息化团队,都应将框架安全升级纳入日常运维流程,避免因基础组件的微小疏漏而引发全局安全风险。

© 2026 西宁惠康电子有限公司 | 青海·西宁