LiteLLM 的 MCP 测试端点:一个正被在野利用的命令注入漏洞
LiteLLM 的 MCP 测试端点存在命令注入缺陷,任何代理 API 密钥都可在主机上执行命令。该漏洞已于 2026 年 5 月 8 日修复,并在确认在野利用后于 6 月 8 日被 CISA 列入 KEV 目录。
这是什么?
LiteLLM 是部署最广泛的开源 AI 网关之一:它是一个代理,为内部 AI 使用方在一百多家模型提供商之前提供统一的、兼容 OpenAI 的接口。其 Model Context Protocol(MCP)测试端点中存在一个高危命令注入缺陷,任何持有代理 API 密钥的一方都可以在网关主机上执行任意命令。LiteLLM 已在 2026 年 5 月 8 日发布的 1.83.7 版本中修复该问题;从 1.74.2 到 1.83.6 的所有版本均受影响。
使这一漏洞区别于寻常 CVE 洪流的,是它的时间线。2026 年 6 月 8 日,CISA 在确认其在野被主动利用后,将其列入 Known Exploited Vulnerabilities(KEV)目录——距补丁发布约五周。云安全联盟(Cloud Security Alliance)的 AI 安全倡议于 2026 年 6 月 13 日发布了一份详细研究简报,主流安全媒体也报告了在通告发布后不久开始的利用活动。因此,这是一个已修复且已公开披露的漏洞,目前正被用于攻击未更新的网关。
工作原理
该缺陷位于为支持 LiteLLM 的 MCP 集成而新增的两个端点中:POST /mcp-rest/test/connection 和 POST /mcp-rest/test/tools/list。它们本用于让运维人员在保存之前预览某个 MCP 服务器,因此会在请求体中直接接受完整的服务器配置——照搬 MCP 的 stdio 传输,包含描述要在代理主机上启动的子进程的 command、args 与 env 字段。
其根本原因是两处疏漏的叠加:缺少授权控制(这些端点未被限制为管理角色),以及对调用方可控进程配置的不安全处理(没有命令白名单,也没有沙箱)。任何持有有效代理 API 密钥的主体——这类凭据常常仅为访问模型而分发给开发团队和自动化服务——因此都可以让代理执行所提供的命令。孤立缺陷的评分为 CVSS 8.7;仅仅是 API 密钥这一前提使其未达到严重级别。
当该缺陷被组合利用时,这一前提便不复存在。Horizon3.ai 的研究人员演示了将其与 Starlette 中的 BadHost 身份验证绕过缺陷 组合——一种 Host 头去同步,会破坏基于 FastAPI 的服务中基于路径的授权。伪造的 Host 头绕过中间件,请求在无任何凭据的情况下抵达易受攻击的 MCP 端点,从而产生评分为 CVSS 10.0 的未认证远程代码执行。
本文不复现任何利用串;上述机制完全来自公开通告。
为何重要
AI 网关处于结构上的特权位置。一套生产环境的 LiteLLM 部署通常持有它所服务的每家提供商的 API 密钥、用于用量日志的数据库凭据,以及控制哪些团队可访问哪些模型的策略配置。因此,在该主机上执行代码并不止步于网关:它会暴露其背后集中的整个凭据面,而在 Kubernetes 部署中,一个权限过大的服务账户还可能将影响范围扩展到集群控制平面。
更广泛的教训是一种模式,而非单一漏洞。便利功能——一个内联的”测试此 MCP 服务器”端点——在交付时并未配备与一个汇聚全部 AI 流量的组件相称的授权控制。这正是今年造成其他 LiteLLM 问题的同一类失败,其中包括一个代理中的预认证 SQL 注入。AI 中间件如今已是一等攻击目标,理应获得可与身份和访问管理系统相比的安全姿态,而非仅仅作为内部开发工具对待。
防御
立即升级。 将 LiteLLM 升级到 1.83.7 或更高版本(它把 MCP 测试端点限制为 PROXY_ADMIN 角色),并在同一周期内将 Starlette 升级到 1.0.1。若不更新 Starlette,即便面对已打补丁的 LiteLLM 代码,未认证的利用串仍可成立。
若今日无法打补丁,则收缩暴露面。 移除代理的公网访问,将可达性限制到真正需要它的服务。仅此一项即可在你安排升级期间消除外部未认证的攻击路径。
轮换并收缩凭据。 将任何运行过易受攻击版本的网关视为可能已被入侵:轮换代理持有的每一个提供商 API 密钥,并吊销分发给无实际需求的用户或服务的代理 API 密钥。密钥持有者越少,即使没有 Host 头绕过,能够触发该缺陷的主体也越少。
排查入侵迹象。 检查由 LiteLLM 服务账户启动的异常进程、cron 或 systemd 目录中的新文件、来自代理主机的异常出站连接,以及环境变量或 LiteLLM 数据库中无法解释的更改。
修复整类问题,而非仅此一个 CVE。 对每一项管理操作强制实施基于角色的访问控制,而非扁平的 API 密钥模型;将 AI 中间件隔离到独立的网络平面;并审计更广泛的 Starlette 生态——FastAPI 服务、vLLM 服务器、MCP 框架——排查同一 Host 头绕过,无论是否直接暴露于 LiteLLM。
状态
| 项目 | 参考 | 日期 | 说明 |
|---|---|---|---|
| 孤立命令注入 | CVE-2026-42271(NVD) | 2026 年披露 | CVSS 8.7;MCP 测试端点,任意代理 API 密钥 |
| 修复版本 | LiteLLM 1.83.7 | 2026-05-08 | 端点限制为 PROXY_ADMIN;Starlette 升至 1.0.1 |
| 组合后的未认证 RCE | 配合 CVE-2026-48710(BadHost) | 2026 | CVSS 10.0;Starlette 中的 Host 头身份验证绕过 |
| 列入 CISA KEV | CISA KEV 目录 | 2026-06-08 | 确认在野主动利用 |
| CSA 研究简报 | 云安全联盟 | 2026-06-13 | AI 网关凭据面分析 |
| 受影响版本 | LiteLLM 1.74.2 → 1.83.6 | — | 升级至 1.83.7+ |
给建设者的要点:AI 网关汇聚了它所服务的一切的凭据,因此放在其上的便利端点从来都不是低风险的。升级到 1.83.7 和 Starlette 1.0.1,将代理移出公网,轮换它曾持有的密钥,并以对待身份系统的同等严谨来对待 AI 中间件。
Sources
- → https://labs.cloudsecurityalliance.org/research/csa-research-note-litellm-cve-2026-42271-ai-gateway-exploita/
- → https://nvd.nist.gov/vuln/detail/CVE-2026-42271
- → https://www.cisa.gov/news-events/alerts/2026/06/08/cisa-adds-two-known-exploited-vulnerabilities-catalog
- → https://horizon3.ai/attack-research/vulnerabilities/cve-2026-42271-chained-with-cve-2026-48710/
- → https://thehackernews.com/2026/06/litellm-flaw-cve-2026-42271-exploited.html