CVE-2026-7304SGLangs多模态生成运行时存在严重的安全漏洞。当启用--enable-custom-logit-processor选项时,攻击者可以在未经身份验证的情况下触发远程代码执行(RCE)。该漏洞的根本原因在于系统对通过dill.loads()加载的Python对象进行反序列化时缺乏必要的验证,导致恶意构造的数据包可被服务端解析并执行任意代码。鉴于该漏洞的CVSS评分高达9.8,且无需用户交互即可利用,对使用受影响版本且开启特定选项的服务器构成极高威胁。
该漏洞源于SGLangs在处理特定功能时的不安全反序列化机制。SGLangs是一个用于多模态生成的运行时环境,其提供了--enable-custom-logit-processor选项以支持自定义逻辑处理。然而,在该功能开启状态下,服务端接收来自客户端的数据并直接使用Python的dill库进行反序列化操作。dill库在功能上类似于pickle,能够序列化和反序列化几乎所有的Python对象,但其安全性依赖于被反序列化数据的可信度。由于未对接收到的数据进行签名校验或白名单过滤,攻击者可以构造恶意的序列化数据包发送给目标服务器。当服务器调用dill.loads()解析该数据包时,其中包含的恶意代码(通常定义在对象的__reduce__方法中)会自动被执行。由于攻击向量通过网络(AV:N),且不需要认证(PR:N)和用户交互(UI:N),攻击者可轻易获取服务器最高权限,实现完全的系统控制。