CVE-2026-31254flash-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')}`),诱导用户使用该配置启动训练,即可在服务器端执行任意代码,完全控制受影响的主机。