GitLab 访问控制不当漏洞CVE-2024-6678安全预警
GitLab CE/EE 是广泛使用的代码托管和项目管理平台,提供整套持续集成/持续部署(CI/CD)、监控及更多功能。
一、基本情况
GitLab是GitLab的一款软件项目仓库应用程序,具有版本控制、问题跟踪、代码审查、持续集成和持续交付等功能。
GitLab 管道用于构建、测试和部署代码,是 GitLab 的 CI/CD(持续集成/持续交付)系统一部分且是核心特性之一。
作为仓库管理系统的开源项目,旨在通过自动化重复任务并确保对代码库的更改得到一致测试和部署简化软件开发。
二、漏洞描述
GitLab社区版(CE)和企业版(EE)修复了一个访问控制不当漏洞,漏洞追溯为CVE-2024-6678,CVSS评分为9.9。
CVE-2024-6678漏洞允许黑客在某些情况下以任意用户身份触发GitLab CI/CD管道,导致权限提升或执行恶意操作。
该漏洞的严重性在于其远程利用的可能性、无需用户交互及低权限要求,攻击者能够以其他用户身份触发 pipeline。
该漏洞允许攻击者在特定条件下,绕过 GitLab 的身份验证机制,对GitLab用户系统安全和数据保护构成严重威胁。
因此,一旦攻击者利用该漏洞,可造成身份验证绕过,即可使攻击者停止操作作业的所有者身份执行环境停止操作。
简单来说,攻击者有可能利用CVE-2024-6678,漏洞绕过正常身份认证流程,以其他用户的身份执行pipeline操作。
这不仅可能导致项目中敏感信息的泄露,还可能导致攻击者篡改项目代码,从而影响项目的正常开发以及部署等等。
GitLab警告称该问题影响 CE/EE 版本 8.14 至17.1.7、17.2 至17.2.5 以及17.3 至17.3.2,建议尽快做好自查及防护。
虽然没有证据表明这些漏洞有在野积极利用的迹象,但官方GitLab建议受影响用户尽快应用补丁,以减轻潜在威胁。
此外,GitLab 还在公告中还列出了四个值得关注的漏洞,评分在 6.7-8.5 之间,且这些漏洞目前均已经被成功修复。
这些漏洞的存在可能允许攻击者破坏服务、执行未经授权的命令或者破坏敏感资源,相关漏洞危害和分析具体如下:
CVE-2024-8640:
Product Analytics funnels YAML代码注入漏洞
由于输入过滤不当,攻击者可以通过 YAML 配置将命令注入连接的 Cube 服务器,可能导致数据的完整性被破坏等。
CVE-2024-8635:
服务器端请求伪造漏洞
攻击者通过构造自定义Maven Dependency Proxy URL利用服务器端请求伪造(SSRF)获取敏感信息执行恶意操作。
CVE-2024-8124:
攻击者能够利用该漏洞,通过发送大量的“glm_source”参数来触发拒绝服务(DoS)攻击,从而导致系统不可用。
CVE-2024-8641:
攻击者能够利用该漏洞,通过 CI_JOB_TOKEN 来获取受害者的 GitLab 会话令牌,从而劫持会话。
三、影响范围
CVE-2024-6678
8.14 <= GitLab CE/EE < 17.1.7
17.2 <= GitLab CE/EE < 17.2.5
17.3 <= GitLab CE/EE < 17.3.2
CVE-2024-8640
16.11 <= GitLab EE < 17.1.7
17.2 <= GitLab EE < 17.2.5
17.3 <= GitLab EE < 17.3.2
CVE-2024-8635
16.8 <= GitLab EE < 17.1.7
17.2 <= GitLab EE < 17.2.5
17.3 <= GitLab EE < 17.3.2
四、修复建议
GitLab官方发布安全更新版本修复漏洞,受影响用户需升级到 GitLab CE/EE 17.3.2、17.2.5、17.1.7或更高版本。
升级 GitLab 后,请对系统进行全面审查,必要时可监控 pipeline 执行和用户活动,以检测任何潜在的未授权访问。
五、 参考链接
https://nvd.nist.gov/vuln/detail/CVE-2024-6678
https://about.gitlab.com/releases/2024/09/11/patch-release-gitlab-17-3-2-released/