gitlab漏洞系列-导入项目的管道时间表可以自动激活

admin 2022年5月1日14:48:13评论38 views字数 602阅读2分0秒阅读模式


  • 背景

  • 复现步骤


声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

背景

justas_b 于2021年提交了这个漏洞:

攻击者可以与管理组的人(维护人员或所有者即:maintainer 或owner)共享定制的项目;

如果此人将精心制作的项目导入到他们的组,则导入的项目将在一段时间后代表导入器(组所有者或维护者)运行活动的计划管道。如果运行成功(计划的管道没有及时删除/禁用),攻击者可以通过curl请求窃取组ci/cd变量。

这些组ci/cd变量可以是维护者/所有者的个人访问令牌(也可以允许攻击者访问维护者/所有者的其他项目)、密码和其他秘密。

复现步骤

1.创建一个组(group)

2.进入组设置,添加一个自定义ci/cd变量,名为“TEST_VAR”

gitlab漏洞系列-导入项目的管道时间表可以自动激活

组设置

3.将先前下载的自定义项目导入到组中

4.项目导入完成后,进入计划管道页面: CI/CD -> Schedules

5.应该看到管道在导入后自动激活,并设置为在x分钟后运行(我认为它可能在30分钟内运行)

6.可以通过点击“播放”按钮来加速管道运行(它将以任何方式运行)

7.管道运行应该发送一个包含私有ci/cd变量的curl请求到requestbin(或攻击者控制的网站)


原文始发于微信公众号(迪哥讲事):gitlab漏洞系列-导入项目的管道时间表可以自动激活

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月1日14:48:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   gitlab漏洞系列-导入项目的管道时间表可以自动激活http://cn-sec.com/archives/965941.html

发表评论

匿名网友 填写信息