事件经过
SGLang 是一个开源高性能 LLM/多模态模型服务框架(用于生产推理和物理 AI/机器人推理层),其 SafeUnpickler 组件包含反序列化绕过。SafeUnpickler 被引入以通过限制哪些 Python 模块/类可以通过允许列表 (ALLOWED_MODULE_PREFIXES) 和拒绝列表 (DENY_CLASSES) 加载来修复较早的反序列化 CVE (CVE-2025-10164)。"builtins."前缀允许列表过于宽泛,拒绝列表阻止了 eval/exec/compile/open 但没有阻止 __import__ 或 getattr,允许攻击者将这些原始组件链接成到达任何可导入模块中的任意函数的小工具链。易受攻击的 /update_weights_from_tensor 端点标记为 AuthLevel.ADMIN_OPTIONAL,在未配置 API 密钥时接受未认证请求。该漏洞于 2026 年 7 月 16 日报告给 CERT/CC;维护者于 7 月 2 日确认但在 2026 年 9 月 11 日 VicOne 研究人员 Reuel Magistrado 进行的公开技术披露时尚未发布补丁。
影响分析
SGLang 是一个广泛使用的 LLM 推理服务器(由 LMSYS 创建),也是物理 AI/机器人推理和推理层的基础。推理服务器层的未认证 RCE 使攻击者能够完全控制提供模型权重和预测的主机——影响范围涵盖托管的每个模型和依赖该服务器的每个下游应用程序。这是关键 AI 堆栈 CVE 序列中的第四个(加速到约每月至每周)(NemoClaw/Ollama、DeepSeek Harness、IBM Langflow,现在是 SGLang),确认 AI 服务基础设施已成为主要攻击目标,且在公开披露时没有供应商补丁可用。
攻击途径
对 /update_weights_from_tensor 端点的未认证 POST,包含精心设计的 pickle 有效负载,该有效负载将 __import__ 和 getattr 小工具链接到不完整的 SafeUnpickler 拒绝列表之外,以到达任意 Python 函数(例如 os.system)。
受影响系统
SGLang(开源 LLM 推理服务器),所有具有 SafeUnpickler 且未配置 API 密钥的版本,修复前
缓解措施
披露时(2026 年 9 月 11 日)没有供应商补丁可用;运营者应在所有 SGLang 端点上要求 API 密钥认证,并在等待上游修复期间避免将 /update_weights_from_tensor 暴露给不受信任的网络。