GitHub Action j178/prek-action 存在代码注入高危漏洞

文章披露了 j178/prek-action 这一 GitHub Action 存在严重的任意代码注入漏洞。攻击者可利用预定义输入参数在 Action 上下文中执行任意代码,导致敏感信息泄露和仓库安全受损。该漏洞影响版本 1.0.5 及以下,已在 1.0.6 版本修复。

j178/prek-action 在组合 Action 中易受任意代码注入攻击

漏洞详情

受影响的包

  • 名称: j178/prek-action (GitHub Actions)

受影响版本

<= 1.0.5

已修复版本

1.0.6

描述

摘要

action.yml 中的组合 Action 存在三个潜在的任意代码注入漏洞攻击点。

详情

GitHub Action 的变量 inputs.prek-versioninputs.extra_argsinputs.extra-args 可被用来在 Action 的上下文中执行任意代码。

概念验证 (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 会正常运行而未被察觉。

影响

严重等级,CWE-94(代码生成的不当控制)。

参考

  • GHSA-pwf7-47c3-mfhx
  • j178/prek-action@6b7c6ef

严重性

严重等级:关键 CVSS 总体评分:10.0

CVSS v3 基础指标

  • 攻击向量 (AV):网络 (N)
  • 攻击复杂度 (AC):低 (L)
  • 所需权限 (PR):低 (L)
  • 用户交互 (UI):无 (N)
  • 范围 (S):已更改 (C)
  • 机密性 (C):高 (H)
  • 完整性 (I):高 (H)
  • 可用性 (A):高 (H)

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

弱点

弱点类型

CWE-94: 代码生成的不当控制(代码注入) 产品使用来自上游组件的外部影响输入来构建全部或部分代码段,但它未能消除或错误地消除了可能修改预期代码段的语法或行为的特殊元素。

标识符

  • GHSA ID: GHSA-pwf7-47c3-mfhx
  • CVE ID: 无已知 CVE

时间线

  • 报告者: mondeja
  • 发布到 j178/prek-action: 2025 年 9 月 27 日
  • 发布到 GitHub 安全通告数据库: 2025 年 9 月 29 日
  • 已审核: 2025 年 9 月 29 日
  • 最后更新: 2025 年 9 月 29 日
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计