漏洞概述 CVE-2026-26210: ktransformers 未认证的远程代码执行(RCE)漏洞,通过 ZMQ 调度器中的 pickle 反序列化实现。 漏洞类型: 远程代码执行(RCE) 触发点: 在 ZMQ 调度器中 严重程度: 关键(CVSS 3.1: 9.8) 影响范围 目标: ktransformers 框架 影响版本: 使用 后端的 ktransformers 影响用户: 部署了 后端的用户 影响范围: 16,500 个 GitHub 星标 修复方案 1. 替换 : 使用 JSON 或 MessagePack 替代 pickle 进行 RPC 协议通信。 2. 绑定到 : 默认情况下绑定到 而不是 。如果需要跨节点通信,要求显式选择加入网络绑定。 3. 添加认证: ZMQ 支持 CurveZMQ 进行加密和认证通信。即使共享密钥也能防止随意利用。 4. 使用 : 如果必须使用 pickle,使用带有明确安全类白名单的 。 POC 代码 结果 服务器返回错误响应( 从 没有 方法),但命令已在 期间执行。 端口发现 ZMQ ROUTER 套接字端口动态分配。攻击者可以通过以下方式发现它: 1. 读取服务器日志(端口在启动时打印) 2. 扫描 ZMQ 套接字的临时端口范围(0xFF 问候字节是可靠的指纹) POC 包括一个 ZMQ 端口扫描器,探测端口 30000-65535 以查找 ZMQ 问候签名。 GPU 要求说明 调用在线程 51 执行,当接收到消息时,在任何 GPU 推理之前。然而,ktransformers 服务器需要 CUDA 初始化模型。一台带有 NVIDIA GPU 的机器需要重现完整的攻击链。 部署上下文 官方 Docker 部署使用 ,绕过 Docker 的网络隔离,直接在主机接口上暴露 ZMQ 端口。这意味着即使是容器化部署也不受益于 Docker 的网络隔离。ZMQ 端口可以从主机和同一网络上的任何其他容器访问。 后端是遗留的多并发模式。现代推荐的部署使用 SGLang 集成( with ),这不会启动易受攻击的 ZMQ 套接字。漏洞影响使用 部署的用户。 时间线 2026-02-11: 漏洞发现并通过代码审计确认 2026-02-11: CVE 请求提交给 VulnCheck 2026-04-23: CVE-2026-26210 发布 2026-04-23: 修复 PR 提交(#1944) 总结 ktransformers 是一个清晰的目标 - 没有先前的 CVE,没有先前的安全报告。漏洞位于代码库的活跃部分( 目录,文档化的后端模式)而不是死代码。 ROUTER/DEALER 代理模式使漏洞比简单套接字更不明显。开发人员可能会查看 ROUTER 套接字设置,而不会立即意识到消息最终在单独的 worker 线程中被 反序列化。代理只是移动字节 - 危险的部分发生在其他地方。结合 Docker 推荐(使容器隔离无效),这是一个在生产环境中特别容易利用的目标。