漏洞概述 Pyro 3.x 存在不安全的 pickle 反序列化漏洞。攻击者可以通过发送精心构造的序列化 payload 到 Pyro 3.x 服务器,利用 Python 的 模块在反序列化过程中执行任意代码,导致未认证的远程代码执行(RCE)。 影响范围 受影响版本:Pyro 3.x 所有版本(<= 3.16) 严重程度:Critical (9.8/10) CVSS 向量:CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 攻击向量:网络 攻击复杂度:低 特权要求:无 用户交互:无 范围:未改变 机密性:高 完整性:高 可用性:高 修复方案 已修复版本:无(Pyro 3.x 已停止维护) 建议措施: 1. 迁移到 Pyro5,默认使用 序列化器,不会反序列化不受信任的来源。 2. 如果无法迁移,请确保 Pyro 3.x 仅用于完全受信任的网络,并且不暴露给不受信任的网络。 技术细节 Pyro 3.x 的协议处理器在接收序列化消息数据时,会调用 ,但没有进行身份验证或完整性检查。由于 Python 的 pickle 格式允许任意对象重建(包括 可调用对象),攻击者可以在反序列化时执行任意代码。 参考链接 Pyro 协议处理器代码 Pyro 安全文档 信用 发现并报告者:Sif Almaghrabi 报告者:Sif-0x01