CVE-2026-34041act是一个允许在本地运行GitHub Actions的开源项目。在0.2.86版本之前,该软件无条件地处理已弃用的::set-env::和::add-path::工作流命令,而这些命令因存在环境注入风险已在官方环境中被禁用。由于该漏洞,当工作流步骤将未受信任的数据输出到标准输出时,攻击者能够注入特定的命令格式,从而为作业中随后的所有步骤设置任意环境变量或篡改PATH路径。这种环境变量注入漏洞可能导致敏感信息泄露或执行恶意操作,对系统安全性构成严重威胁。
该漏洞的根源在于act项目对GitHub Actions旧版工作流命令的向后兼容处理不当。具体而言,GitHub曾使用::set-env::和::add-path::作为特殊的命令格式,允许工作流步骤动态设置环境变量。然而,这种机制被证实存在严重的安全隐患,因为标准输出通常包含不可信的数据。在act受影响的版本中,解析器在处理步骤输出时,未将此类命令列入黑名单或默认禁用。攻击者利用这一点,只需控制一个步骤的输出内容,插入形如::set-env:: name=GITHUB_TOKEN::secret_value的字符串。act在捕获stdout时会解析该字符串,并在当前作业的上下文中执行环境变量的修改。更危险的是修改PATH环境变量,这可能导致后续合法步骤加载并执行攻击者提供的恶意脚本或二进制文件,从而在运行act的主机上实现远程代码执行(RCE)。这属于典型的通过注入控制流指令进行的供应链攻击或本地提权场景。