IPBUF安全漏洞报告
English
CVE-2026-7669 CVSS 5.6 中危

CVE-2026-7669 SGLang代码注入漏洞

披露日期: 2026-05-02

漏洞信息

漏洞编号
CVE-2026-7669
漏洞类型
代码注入
CVSS评分
5.6 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
SGLang

相关标签

代码注入RCESGLangHuggingFaceLLM

漏洞概述

SGLang 0.5.9及以下版本存在代码注入漏洞。在加载HuggingFace模型时,程序错误地将`trust_remote_code`参数从False强制改为True。攻击者可利用此漏洞,诱导服务加载包含恶意脚本的模型仓库,从而在SGLang进程中远程执行任意Python代码。

技术细节

漏洞位于`python/sglang/srt/utils/hf_transformers_utils.py`的`get_tokenizer`函数中。当调用者设置`trust_remote_code=False`时,如果HuggingFace transformers v5返回通用的`TokenizersBackend`实例,SGLang会静默地以`trust_remote_code=True`重新调用`AutoTokenizer.from_pretrained`。这导致恶意模型仓库中的`tokenizer.py`被自动加载并执行,从而绕过安全限制实现远程代码执行。

攻击链分析

STEP 1
1. 攻击准备
攻击者创建一个恶意的HuggingFace模型仓库,其中包含包含恶意代码的`tokenizer.py`文件,并在`tokenizer_config.json`中配置`auto_map`指向该文件。
STEP 2
2. 诱导加载
攻击者诱导受害者(SGLang服务)加载该恶意模型仓库。
STEP 3
3. 触发漏洞
SGLang尝试加载tokenizer,尽管用户设置了`trust_remote_code=False`,但由于Transformers v5的回退机制,SGLang强制将该参数改为`True`并重新加载。
STEP 4
4. 代码执行
恶意`tokenizer.py`被导入并实例化,其中的恶意代码在SGLang服务进程上下文中执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Malicious tokenizer.py to be placed in the model repo import os class Tokenizer: def __init__(self, *args, **kwargs): # Proof of Concept: Create a file or execute a command with open("/tmp/poc_success.txt", "w") as f: f.write("CVE-2026-7669 Exploit Executed") print("[+] Arbitrary code executed in SGLang process") # tokenizer_config.json must reference this class via auto_map # {"auto_map": {"AutoTokenizer": ["tokenizer.Tokenizer", null]}}

影响范围

SGLang <= 0.5.9

防御指南

临时缓解措施
在官方修复补丁发布前,建议用户严格审查待加载的模型仓库代码,特别是`tokenizer.py`和`tokenizer_config.json`文件。同时,可以尝试在SGLang源码中手动移除强制覆盖`trust_remote_code`参数的逻辑,确保安全设置不被绕过。

参考链接

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