漏洞总结 漏洞概述 漏洞编号: CVE-502 (Deserialization of Untrusted Data) 漏洞描述: 在异步推理管道中,存在不安全的 和 调用,允许通过精心构造的 pickle 负载在 gRPC 服务上执行远程代码。 影响范围 影响组件: 异步推理管道中的 序列化/反序列化操作。 影响版本: 所有使用不安全 调用的版本。 修复方案 修复措施: 替换所有不安全的 调用为安全替代方案: - 使用 处理张量数据( 和 数组)。 - 使用 处理标量元数据和配置。 具体修改: - 新增 模块,使用简单的 wire 格式: 。 - 修改 和 中的 调用。 - 新增 进行回归测试。 设计决策 使用 作为 的安全替代方案,专门用于 ML 张量。 保留 和 张量类型通过元数据标志。 不更改 protobuf 定义或 gRPC 服务接口,复用 字段。 通过反序列化类型检查防止跨类型混淆。 测试结果 所有测试通过,包括: - - - - - 破坏性变更 这是一个 wire 格式变更,客户端和服务器必须同时更新。由于异步推理功能是实验性的(如维护者所述),这应该是可以接受的。 相关代码 新增文件: 修改文件: , 新增测试文件: