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-3854-PoC — RCE GitHub via injection d'option de push X-Stat | Kitploit
Outils/GitHubGitHub/lysophavin18/cve-2026-3854-poc
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHublysophavin18/cve-2026-3854-poc

CVE-2026-3854-PoC

RCE GitHub via injection d'option de push X-Stat

Voir le dépôt
22il y a 4 moisPas 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

PoC CVE-2026-3854 — RCE sur GitHub via l'injection d'options push X-Stat

Uniquement à des fins de recherche en sécurité éducative et autorisée.
Ne pas utiliser contre un système sans autorisation écrite explicite.


Aperçu

CVE-2026-3854 est une vulnérabilité d'exécution de code à distance (RCE) dans le pipeline git push de GitHub Enterprise Server (et de GitHub.com).

Lorsqu'un client fournit des options push (git push -o), le code Ruby interne de GitHub construit un en-tête X-Stat en concaténant chaque valeur d'option avec des points-virgules comme délimiteurs de champs. Comme les valeurs étaient insérées telles quelles (sans assainissement), un attaquant pouvait intégrer des points-virgules dans une option push pour injecter des champs clé-valeur arbitraires dans l'en-tête et remplacer des paramètres critiques pour la sécurité — aboutissant finalement à une RCE non sandboxée en tant qu'utilisateur git.

Cause racine de la vulnérabilité

root@kitploit:~
X-Stat: repo_id=12345;user_id=alice;rails_env=production;...;push_option_0=<USER INPUT>

Injecter normal_value;rails_env=staging comme valeur de l'option push donne :

root@kitploit:~
...;push_option_0=normal_value;rails_env=staging

L'analyseur prend la dernière occurrence de chaque clé, donc rails_env est désormais staging (non sandboxé), remplaçant la valeur légitime production définie précédemment.


Prérequis

  • Python 3.10 ou ultérieur (utilise les annotations de type natives list[str] / dict[str, str])
  • Aucun paquet tiers requis

Utilisation

root@kitploit:~
python3 exploi-git.py

Le script exécute trois démonstrations successives entièrement en mémoire — aucune connexion réseau, aucune commande shell, aucune écriture de fichier :

DémoCe qu'elle montre
1Injection basique de points-virgules remplaçant rails_env
2Chaîne RCE conceptuelle complète en 3 étapes
3Comportement corrigé — les points-virgules sont encodés en pourcentage et l'injection est neutralisée

Correctif

GitHub a corrigé la vulnérabilité en encodant en pourcentage les points-virgules dans les valeurs des options push avant de les insérer dans l'en-tête X-Stat :

root@kitploit:~
normal_value;rails_env=staging  →  normal_value%3Brails_env=staging

Cela fait du point-virgule une partie littérale de la valeur et neutralise l'injection.


Références

  • Article du blog Wiz Research
  • Blog Sécurité de GitHub
  • NVD — CVE-2026-3854

Avertissement

Ce dépôt est fourni uniquement à des fins éducatives et pour soutenir la recherche en sécurité autorisée. Les auteurs déclinent toute responsabilité en cas de mauvaise utilisation. Obtenez toujours une autorisation écrite explicite avant de tester un système que vous ne possédez pas.

Télécharger l’outil