CVE-2026-31048Pyro v3.x版本中的pickle协议实现存在严重安全缺陷。由于组件在处理网络传输数据时,未对传入的序列化对象进行安全校验,未经身份验证的远程攻击者可构造并发送特制的恶意pickled字符串消息。当服务端反序列化该消息时,将触发任意代码执行漏洞,导致服务器被完全控制。
Pyro(Python Remote Objects)是一个用于远程对象调用的Python库。在处理网络传输的数据时,Pyro默认使用Python的`pickle`模块进行序列化和反序列化。`pickle`模块在功能上极其强大,但因其设计机制允许在反序列化过程中自动执行对象定义的`__reduce__`等魔术方法,从而存在严重的安全风险。在Pyro v3.x中,攻击者无需进行身份验证,即可向暴露的Pyro服务端发送包含恶意Python指令的pickle数据流。一旦服务端接收并尝试还原该对象,恶意代码(例如调用`os.system`或`subprocess`模块)将在服务端进程上下文中运行。这导致攻击者可以获得与Pyro服务相同的系统权限,执行读取敏感文件、安装后门或破坏系统完整性等操作。