漏洞总结:Hugging Face /lerobot 异步推理中的不安全 pickle 反序列化漏洞 漏洞概述 漏洞编号:#3047 漏洞类型:CWE-502 - 不受信数据反序列化 严重程度:允许远程代码执行(RCE) 发现者:Valentin Lobstein (@Chocapikk) 报告时间:2026-02-11 公开时间:2026-02-27 影响范围 受影响文件: - (第127, 185, 238行) - (第281行) 受影响函数:所有 调用 攻击向量: 1. SendPolicyInstructions (Unary RPC) 2. SendObservations (Streaming RPC) 3. GetActions (Bidirectional) 协议:gRPC (HTTP/2) over add_insecure_port() - 无TLS,无认证 漏洞详情 异步推理管道(policy_server.py 和 robot_client.py)使用 反序列化通过未认证 gRPC 通道接收的数据。这允许任何网络可达的攻击者在服务器(或客户端)上通过发送特制的 pickle 载荷执行任意代码。 根本原因 gRPC 服务使用 protobuf 消息中的 raw bytes 字段来传输使用 pickle 序列化的 Python 对象。 调用发生在任何验证之前,且 gRPC 通道上没有认证。 概念验证代码 (POC) 修复方案 使用 safetensors + JSON 替换 pickle 序列化: safetensors:专为 ML 张量设计的安全替代方案(已是项目依赖) JSON:用于标量元数据和配置(策略配置、时间戳等) 已提交 PR #3048 引入 模块,处理所有序列化而无需使用 pickle,包含完整回归测试。 时间线 2026-02-11:漏洞独立发现,确认 PoC,报告给 VulnCheck 分配 CVE 2026-02-27:公开 issue 创建,附带修复方案