20:40:08 阅读量:393

警惕大模型供应链安全:SGLang高危RCE漏洞深度解析

#SGLang #RCE #供应链安全 #SSTI #漏洞分析

事件背景与影响

近期,高性能大模型推理框架 SGLang 被曝出一个 CVSS 评分高达 9.8 的严重漏洞(CVE-2026-5760)。作为当前 AI 领域广受欢迎的开源 serving 框架,SGLang 在 GitHub 上拥有极高的关注度。此次漏洞的出现,再次为大模型部署场景下的供应链安全敲响了警钟。从我们的应急响应经验来看,攻击者正日益关注 AI 基础设施组件,通过构造恶意的模型权重或配置文件,绕过传统的安全边界,直接在推理服务器上实现远程代码执行(RCE)。

攻击链分析:从模型加载到代码执行

该漏洞的本质是服务端模板注入(SSTI)。攻击者利用了 SGLang 在处理特定模型参数时的不当逻辑,将恶意代码植入到模型文件中。

整个攻击过程可以拆解为以下关键步骤:

首先,攻击者精心构造一个 GGUF 格式的模型文件,并在其中的 tokenizer.chat_template 参数中嵌入恶意的 Jinja2 SSTI 载荷。为了确保触发代码路径,攻击者还会特意加入针对特定模型(如 Qwen3)的 reranker 触发短语。

其次,受害者通过 Hugging Face 等渠道下载该恶意模型并部署在 SGLang 环境中。

最后,当外部请求访问 SGLang 的 /v1/rerank 端点时,系统会读取并渲染该恶意模板。由于渲染环境缺乏必要的沙箱隔离,恶意代码随即被执行,从而导致服务器被完全控制。

技术手法解析:沙箱缺失的代价

从技术原理上看,该漏洞的根源在于程序代码在渲染模板时使用了 jinja2.Environment(),而非更安全的 ImmutableSandboxedEnvironment。

在 Jinja2 模板引擎的常规使用中,如果未对环境进行严格限制,攻击者可以通过构造特殊的语法结构访问 Python 的内置对象或执行系统命令。类似攻击近年来明显增加,此前在 llama_cpp_python(Llama Drama 漏洞)以及 vLLM 中也曾出现过类似的攻击面。这一环节是很多企业在构建 AI 业务时容易忽视的,开发者往往专注于模型推理的性能优化,却忽略了模型配置文件本身可能带来的输入验证风险。

Solar 安全建议与经验总结

针对此类大模型框架漏洞,Solar 应急响应团队提出以下建议:

首先,在处理任何第三方模型文件时,必须保持高度警惕。不要直接从不可信来源加载模型,建议建立模型文件的安全审计流程,检查其元数据及配置文件是否包含异常的模板字符串。

其次,对于负责部署 AI 推理服务的工程团队,建议立即评估当前使用的框架版本,并检查其模板渲染逻辑。如果无法立即升级,应考虑在应用层对输入进行深度过滤,或将推理服务部署在隔离的沙箱容器中,限制其对宿主机文件系统及敏感 API 的访问权限。

最后,请务必关注官方发布的安全更新。对于使用了 Jinja2 进行模板渲染的组件,务必确保采用了沙箱化环境(如 ImmutableSandboxedEnvironment),这是防止 SSTI 攻击的最有效手段。

如果您想了解勒索病毒的最新发展趋势,或在实际业务中遇到类似安全事件,欢迎关注“Solar应急响应团队”。

全国热线:400-613-6816 官网:www.solarsecurity.cn / www.sierting.com