SGLang 漏洞可通过恶意 GGUF 模型文件实现远程代码执行
- 浏览次数 34
- 喜欢 0
HackerNews 编译,转载请注明出处:
SGLang 中披露了一个严重的安全漏洞,若被成功利用,可能导致在受影响的系统上实现远程代码执行。
该漏洞编号为 CVE - 2026 - 5760,在 10 分制的通用漏洞评分系统(CVSS)中得分 9.8,被认定为命令注入漏洞,可导致任意代码执行。
SGLang 是一个高性能的开源大语言模型和多模态模型服务框架。其官方 GitHub 项目已被复刻超过 5500 次,获得 26100 颗星标。
据美国计算机应急响应小组协调中心(CERT/CC)称,该漏洞影响重排端点 “/v1/rerank”,攻击者可通过特制的 GPT 生成统一格式(GGUF)模型文件,在 SGLang 服务环境中实现任意代码执行。
CERT/CC 在今日发布的一份公告中指出:“攻击者通过创建一个恶意的 GPT 生成统一格式(GGUF)模型文件来利用此漏洞,该文件的参数经过精心构造,包含一个 Jinja2 服务器端模板注入(SSTI)有效载荷以及一个触发短语,用于激活漏洞代码路径。受害者随后下载并在 SGLang 中加载该模型,当请求到达‘/v1/rerank’端点时,恶意模板会被渲染,从而在服务器上执行攻击者的任意 Python 代码。这一系列事件使攻击者能够在 SGLang 服务器上实现远程代码执行(RCE)。”
发现并报告该漏洞的安全研究员斯图尔特・贝克(Stuart Beck)表示,根本问题在于使用了未进行沙盒化的 jinja2.Environment (),而非 ImmutableSandboxedEnvironment。这使得恶意模型能够在推理服务器上执行任意 Python 代码。
整个操作流程如下:
- 攻击者创建一个 GGUF 模型文件,其中恶意的 tokenizer.chat_template 包含 Jinja2 SSTI 有效载荷。
- 该模板包含 Qwen3 重排器触发短语,以激活 “entrypoints/openai/serving_rerank.py” 中的漏洞代码路径。
- 受害者从如 Hugging Face 等来源下载并在 SGLang 中加载该模型。
- 当请求到达 “/v1/rerank” 端点时,SGLang 读取 chat_template 并使用 jinja2.Environment () 进行渲染。
- SSTI 有效载荷在服务器上执行任意 Python 代码。
值得注意的是,CVE - 2026 - 5760 与 CVE - 2024 - 34359(又称 Llama Drama,CVSS 评分 9.7)属于同一类漏洞,后者是 llama_cpp_python Python 包中现已修复的严重漏洞,曾可导致任意代码执行。去年年底,vLLM 中同样的攻击面漏洞也得到修复(CVE - 2025 - 61620,CVSS 评分 6.5)。
CERT/CC 表示:“为缓解此漏洞,建议使用 ImmutableSandboxedEnvironment 替代 jinja2.Environment () 来渲染聊天模板,这将防止在服务器上执行任意 Python 代码。在协调过程中,未获得相关回应或补丁。”
消息来源:thehackernews.com;
本文由 HackerNews.cc 翻译整理,封面来源于网络;
转载请注明“转自 HackerNews.cc”并附上原文