跳到内容
返回文章列表
security3 min

BadHost:Starlette漏洞CVE-2026-48710让AI智能体和MCP服务器暴露(2026年5月)

BadHost: Starlette flaw (CVE-2026-48710) exposes AI agents and MCP servers (May 2026)

KGA IT
2026-10-123 min
SecurityStarletteFastAPIMCPCVE-2026-48710Maio 2026

发生了什么

2026年5月,FastAPI底层的Python框架Starlette被披露存在严重的身份验证绕过漏洞CVE-2026-48710,绰号BadHost。修复版本为Starlette 1.0.1。该漏洞由X41 D-Sec在OSTIF资助的审计中发现,Ars Technica进行了报道。

为何严重:Starlette每周下载量约3.25亿次,支撑着大量Python AI基础设施:vLLM、LiteLLM、连接AI智能体与工具和数据库的MCP服务器、Google ADK-Python、Ray Serve、BentoML以及智能体控制台。

原理

Starlette把Host头和请求路径拼接成request.url,却没有校验Host。攻击者发送类似Host: example.com/health?x=的值:

  • 路由器把请求交给真实路径(如/admin);
  • 但认证中间件看到的是被"污染"的路径(公开的/health),于是放行。

结果是:中间件中基于路径的安全规则,只需在头部加一个字符就能绕过。

MCP服务器尤其容易成为目标,因为MCP规范要求公开OAuth发现端点,便于被找到。X41的扫描显示,存在漏洞的系统暴露了临床试验数据、身份验证数据、整个邮箱、人力资源数据以及工业设备的SSH访问。

据报道,就连Claude Mythos在Project Glasswing中也没有发现这个漏洞,因为它源于三个各自正常运行的层之间的组合。

应对措施

  1. 将Starlette升级到1.0.1或更高版本(以及包含它的FastAPI)。
  2. 若暂时无法升级:在所有做安全判断的中间件和依赖中,用request.scope["path"]替换request.url.path。
  3. 在前端部署校验Host的反向代理(nginx、Caddy、Traefik、HAProxy)。
  4. 审查容器镜像和虚拟环境,其中可能锁定了旧版本。
  5. badhost.org提供免费扫描工具。

教训

AI智能体基础设施发展过快,继承了无人审视的安全假设。如果你在用FastAPI运行MCP服务器或LLM代理,请将此列为优先事项。

来源


贵公司是否在运行AI智能体或MCP服务器?KGA IT可免费进行安全检查:kga-it.com

携手解决您的技术挑战

KGA IT Solutions 拥有 AI、云计算、DevOps 专业团队,为您的业务挑战提供最佳方案。

联系我们