GitHub Actions 复合动作中的任意代码注入漏洞详解

本文详细分析了 CVE-2024-48908 漏洞,该漏洞存在于 lycheeverse/lychee-action 中,由于对用户输入 `lycheeVersion` 的处理不当,攻击者可利用此漏洞在 GitHub Actions 工作流中注入并执行任意代码,对目标仓库的机密性和完整性构成高风险。

CVE-2024-48908 漏洞详情

描述

Lychee 链接检查动作用于使用 lychee 工具检查 Markdown、HTML 和文本文件中的链接。在 2.0.2 版本之前,位于 action.yml 的复合动作中的 lychee-setup 存在潜在的任意代码注入攻击漏洞。此问题已在 2.0.2 版本中修复。

漏洞详情

摘要

action.yml 的复合动作中的 lychee-setup 存在潜在的任意代码注入漏洞。

详情

GitHub Actions 的输入变量 inputs.lycheeVersion 可被用于在动作的上下文中执行任意代码。

概念验证

1
2
3
- uses: lycheeverse/lychee@v2
  with:
    lycheeVersion: $(printenv >> $GITHUB_STEP_SUMMARY && echo "v0.16.1")

上述示例会将所有环境变量打印到工作流程摘要中,但攻击者可能利用此向量破坏目标仓库的安全性,并且可能因为动作会正常运行而不被察觉。

影响

指标

NVD 正在参考公开信息进行充实工作,以关联向量字符串。其他来源贡献的 CVSS 信息也会被显示。

CVSS 4.0 严重性及向量字符串

  • NIST:NVD NVD 评估暂未提供。
  • CNA:GitHub, Inc.
    • CVSS-BT 6.9 中危
    • 向量CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:U

弱点枚举

CWE-ID CWE 名称 来源
CWE-94 对代码生成的不当控制(“代码注入”) GitHub, Inc.

参考信息

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计