有研究人员于今年4月,向漏洞悬赏平台Huntr通报开源机器学习框架PyTorch存在重大层级漏洞CVE-2024-5480,CVSS风险评分达到10分,影响2.2.2版以前的PyTorch。对此,Huntr向通报者提供1,500美元予以奖励,并于上周公布细节。
这项漏洞存在于名为torch.distributed.rpc的框架,一旦开发者利用该框架进行RPC调用,过程中该框架并未验证相关功能是否如开发者预期运行,使得攻击者借此漏洞通过网络使用RPC调用Python的功能,从而加载Python程序库并运行任意命令。
由于这项框架通常被用于分布式训练,像是增强式学习、模型并用、参数服务器训练框架等应用场景,而有可能导致上述漏洞的影响范围相当广泛。
对于漏洞发生的原因,研究人员也提出说明。当torch.distributed.rpc框架在使用多处理器线程进行RPC通信时,worker可使用特定的功能(如rpc.rpc_sync)将功能及张量(tensor)串行化并打包成PythonUDF套件,然后使用PythonCall进行发送。
接着,master节点将接收到的套件反串行化处理,并调用_run_function,过程中允许worker运行特定的功能,但由于功能调用并未受到限制,使得攻击者通过调用Python内置的功能,就有机会发动远程代码运行(RCE)攻击。
对此,研究人员也提供概念性验证(PoC)代码,并指出该漏洞可能带来的影响:由于攻击者可将其用来远程攻击分布式训练的master节点,一旦这些节点遭到入侵,对方就有机会窃取与AI有关的敏感数据。



2024-06-13
