PyTorch RemoteModule 反序列化远程代码执行漏洞(CVE-2024-48063)

admin 2024年11月5日14:09:47评论38 views字数 905阅读3分1秒阅读模式

===================================

免责声明

请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。

0x01 工具介绍

CVE-2024-48063 是一个影响 PyTorch 2.4.1 及更早版本的安全漏洞,可能导致反序列化远程代码执行(Remote Code Execution, RCE)。该漏洞存在于 PyTorch 的 RemoteModule 中,当处理恶意序列化的数据时,可能导致攻击者远程执行任意代码。
  • 所有 PyTorch <= 2.4.1 的版本

0x02 安装与使用

  1. 初始化 RPC:使用 RPC 前,先用 rpc.init_rpc 初始化 RPC 框架。

  2. 调用 rpc.remote

    • 指定目标节点的名称或 ID。

    • 传入要调用的函数及参数。

    • 该函数异步执行,返回一个 RRef 对象。

  3. 处理返回值:通过 RRef 可以获取远程计算结果,但要注意,RRef 是远程对象的引用,不是直接的数据。

以下是使用 rpc.remote 的简单示例:
import torchimport torch.distributed.rpc as rpc# 初始化 RPCrpc.init_rpc("worker0", rank=0, world_size=2)# 定义一个加法函数def add_tensors(tensor1, tensor2):    return tensor1 + tensor2# 使用 rpc.remote 调用远程函数rref_result = rpc.remote("worker1", add_tensors, args=(torch.ones(2), torch.ones(2) * 2))# 获取结果result = rref_result.to_here()  # 阻塞直到结果可用print(result)  # 输出: tensor([3., 3.])# 关闭 RPCrpc.shutdown()

0x03 下载链接

原文始发于微信公众号(网络安全者):PyTorch RemoteModule 反序列化远程代码执行漏洞(CVE-2024-48063)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月5日14:09:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PyTorch RemoteModule 反序列化远程代码执行漏洞(CVE-2024-48063)https://cn-sec.com/archives/3356157.html

发表评论

匿名网友 填写信息