[Data] Fix RCE in Arrow extension type deserialization from Parquet #62056 漏洞概述 漏洞类型:远程代码执行 (RCE) 漏洞成因:在 Arrow 张量扩展类型反序列化过程中,攻击者可以通过构造恶意的 Parquet 文件,利用 Cloudpickle 库的 函数执行任意代码。 触发条件:读取由 Ray 2.49-2.54 版本编写的 Parquet 文件。 影响范围 受影响的组件:Arrow 扩展类型反序列化。 受影响版本:Ray 2.49-2.54。 风险等级:高危(可导致远程代码执行)。 修复方案 默认序列化格式变更:将 Arrow 扩展类型的默认序列化格式从 Cloudpickle 切换为 JSON。 向后兼容性: - 保留 Cloudpickle 作为 fallback 机制,通过环境变量 进行配置。 - 默认情况下使用 JSON 序列化,但支持通过环境变量切换回 Cloudpickle。 具体实现: - 新增环境变量 ,用于指定序列化格式。 - 修改 函数,优先尝试 JSON 反序列化,失败后回退到 Cloudpickle。 - 更新错误消息以反映 Ray 版本范围。 POC 代码