当前位置: 首页 > news >正文

PyPI发布GitHub Action存在可注入表达式扩展漏洞

PyPI发布GitHub Action存在可注入表达式扩展漏洞

漏洞详情

包信息

  • 包名: actions
  • 项目: pypa/gh-action-pypi-publish (GitHub Actions)

影响版本

  • 受影响版本: < 1.13.0
  • 已修复版本: 1.13.0

漏洞描述

摘要

gh-action-pypi-publish在可能被攻击者控制的上下文中使用了GitHub Actions表达式扩展(即${{ ... }})。根据调用gh-action-pypi-publish的触发器类型,这可能允许攻击者在调用gh-action-pypi-publish的workflow步骤中执行任意代码。

详细说明

gh-action-pypi-publish包含一个复合操作步骤set-repo-and-ref,该步骤使用了表达式扩展:

- name: Set repo and ref from which to run Docker container actionid: set-repo-and-refrun: |# Set repo and ref from which to run Docker container action# to handle cases in which `github.action_` context is not setREF=${{ env.ACTION_REF || env.PR_REF || github.ref_name }}REPO=${{ env.ACTION_REPO || env.PR_REPO || github.repository }}REPO_ID=${{ env.PR_REPO_ID || github.repository_id }}echo "ref=$REF" >>"$GITHUB_OUTPUT"echo "repo=$REPO" >>"$GITHUB_OUTPUT"echo "repo-id=$REPO_ID" >>"$GITHUB_OUTPUT"shell: bashenv:ACTION_REF: ${{ github.action_ref }}ACTION_REPO: ${{ github.action_repository }}PR_REF: ${{ github.event.pull_request.head.ref }}PR_REPO: ${{ github.event.pull_request.head.repo.full_name }}PR_REPO_ID: ${{ github.event.pull_request.base.repo.id }}

在正常的预期操作中,这些扩展用于为refrepo-id等输出建立正确的优先级。

然而,这些扩展有一个副作用:因为它们使用${{ ... }}而不是${...}(即正常的shell插值),它们可以绕过正常的shell引用规则。特别是,如果env.ACTION_REFenv.PR_REF都评估为空字符串,那么表达式将回退到github.ref_name,这可能是攻击者通过分支或标签名控制的字符串。

例如,如果攻击者能够将分支名称设置为类似innocent;cat${IFS}/etc/passwd的内容,那么REF行可能扩展为:

REF=innocent;cat${IFS}/etc/passwd

这将把REF设置为innocent,然后运行攻击者的代码。

关于危险扩展的更多信息可以在zizmor的模板注入规则文档中找到。

影响

此漏洞的影响非常低:在正常操作中,相关表达式不太可能被评估,因为env.ACTION_REF应该始终优先。

特别是,该操作在许多流行配置中不容易受到攻击,例如使用pull_requestreleasepush: tags事件调用操作的情况。

参考信息

  • GHSA-vxmw-7h4f-hqxh
  • pypa/gh-action-pypi-publish@77db1b7

安全指标

严重程度

  • 等级: 低
  • CVSS总体评分: 0.0/10

CVSS v3基础指标

  • 攻击向量: 网络
  • 攻击复杂度: 低
  • 所需权限: 无
  • 用户交互: 无
  • 范围: 未改变
  • 机密性: 无影响
  • 完整性: 无影响
  • 可用性: 无影响

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

弱点

  • CWE-77: 命令中使用的特殊元素的不当中和(命令注入)

产品使用来自上游组件的外部影响输入构建全部或部分命令,但在将命令发送到下游组件时,没有中和或错误地中和可能修改预期命令的特殊元素。

信用

报告者: woodruffw
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.fuzeviewer.com/news/26033/

相关文章:

  • 学校展示型网站建设方案书公司网站 制作
  • 青岛网站建设公司石家庄网站设计公司排名
  • 网站权重查询wordpress the7 seo
  • 建设网站定位分析服装毕业设计代做网站
  • html网站尾部怎么做编辑公众号
  • 门户网站群建设网站你懂我意思正能量app
  • 配音阁在线制作网站新乡网站建设新乡
  • icp备案的网站名称学做家常菜的网站
  • 雅安网站建设公司深圳网站优化多少钱
  • 福州有网站开发的公司吗用织梦做网站视频
  • 连云港市电信网站建设ui设计说明万能模板
  • wordpress 阿里云点播温州seo代理
  • app设计素材网站app制作软件排名
  • 教新手做网站难吗绿色企业网站源码
  • 网站优化排名怎么做网站开发 项目章程
  • 有经验的企业做网站做蓝牙音箱在什么网站上找客户
  • 简单免费自建网站云支付 wordpress 免签
  • 网站推广描述搜索引擎关键词优化方案
  • 网站策划与建设阶段应该做什么企业信息填报指南
  • 招标网官方网站高端大气酒店网站源码
  • portfolio做网站豪华网站建设
  • 中国个人优秀网站网站优化体验报告
  • 邵阳建设银行网站株洲做网站那家好
  • 网站建设 考题建设工程备案网站
  • 网站的线下推广怎么做公众号开发图片太大上传怎么压缩图片
  • 网站空间800m购物商城建设网站
  • 做网站注册几类商标重庆注册公司网上申请入口
  • ps 做ui比较好的网站网站首页的尺寸
  • 刷东西网站建设个人如何办网站
  • 排名公式哈尔滨网站seo公司