CVE-2025-62703CVE-2025-62703是Fugue框架中的一个高危远程代码执行漏洞。Fugue是一个用于分布式计算的统一接口,支持在Spark、Dask和Ray上执行Python、Pandas和SQL代码。漏洞存在于该框架的RPC服务器实现中,具体为fugue/rpc/flask.py文件中的_decode()函数。该函数直接使用cloudpickle.loads()对客户端发送的数据进行反序列化,而没有进行任何安全验证或过滤。由于pickle格式允许序列化任意Python对象,攻击者可以构造恶意序列化的Python对象,当服务器反序列化这些数据时,将执行任意代码。此漏洞的CVSS评分为8.8,属于高危级别,攻击向量为邻接网络,无需认证和用户交互即可利用。攻击成功后将导致机密性、完整性和可用性均受到高影响。
该漏洞的根本原因在于Fugue框架的RPC服务器在处理客户端请求时缺乏安全的反序列化机制。在fugue/rpc/flask.py的_decode()函数中,代码直接调用cloudpickle.loads()对接收到的数据进行反序列化操作。cloudpickle是pickle模块的扩展,支持序列化和反序列化更复杂的Python对象,包括可执行代码。当RPC客户端向服务器发送序列化数据时,服务器未经任何校验就直接反序列化这些数据。攻击者可以通过向FlaskRPCServer发送精心构造的恶意序列化payload,利用__reduce__方法或类似技巧在反序列化过程中执行任意系统命令或Python代码。由于RPC服务器通常需要接收网络请求,这使得攻击者可以在无需认证的情况下远程触发该漏洞。官方已在commit 6f25326中修复了此问题,修复方式可能包括对反序列化数据进行签名验证、使用更安全的序列化格式或实现输入验证机制。