Vulnérabilité critique de RCE découverte dans Gogs : une faille non corrigée expose les dépôts à une prise de contrôle complète
Une vulnérabilité critique d'exécution de code à distance (RCE) a été découverte dans **Gogs**, un service Git auto-hébergé, permettant potentiellement aux utilisateurs authentifiés d'exécuter du code arbitraire. La vulnérabilité, qui n'a actuellement pas d'identifiant **CVE**, représente un risque important pour les instances Gogs avec des configurations par défaut.

### Vulnérabilité RCE de Gogs : une analyse approfondie
Le chercheur en sécurité Jonah Burgess de **Rapid7** a révélé une vulnérabilité critique dans **Gogs**, un service Git open-source auto-hébergé. La faille permet à tout utilisateur authentifié d'obtenir une exécution de code à distance (RCE) sur le serveur. La vulnérabilité découle de la possibilité d'injecter le drapeau `--exec` dans `git rebase` lors de l'opération 'Rebase avant la fusion' en créant une pull request avec un nom de branche malveillant. **Rapid7** évalue la vulnérabilité à 9.4 sur le système de notation CVSS.
### Comprendre le vecteur d'attaque
L'attaque exploite la fonctionnalité `git rebase`, qui intègre les modifications d'une branche dans une autre. Le drapeau `--exec` permet l'exécution de commandes shell après que chaque commit soit rejoué pendant l'opération de rebase. Il est important de noter que l'exploitation de cette vulnérabilité ne nécessite pas de privilèges administratifs ni d'interaction de la part d'autres utilisateurs. Un attaquant peut simplement créer un compte et un dépôt sur une instance **Gogs** configurée par défaut pour lancer l'attaque.
Burgess explique : "Tout utilisateur enregistré qui crée un dépôt en est automatiquement le propriétaire. À partir de là, l'activation du rebase pour la fusion n'est qu'un simple basculement dans les paramètres, et toute la chaîne d'exploit peut être opérée sans interaction d'aucun autre utilisateur."
### Scénario d'attaque alternatif
Dans les scénarios où le rebase pour la fusion est déjà activé sur un dépôt, un utilisateur ayant un accès en écriture peut directement exploiter la faille pour obtenir l'exécution de code. Cependant, sur les instances **Gogs** où la création de dépôts est restreinte, un attaquant doit posséder un accès en écriture à un dépôt avec le rebase pour la fusion activé.
### Vulnérabilité non corrigée et impact potentiel
Au moment de la rédaction, la vulnérabilité reste non corrigée malgré son signalement au mainteneur le 17 mars 2026. Une exploitation réussie pourrait permettre à un attaquant de :
* Compromettre le serveur
* Accéder à tous les dépôts de l'instance
* Voler des identifiants
* Se déplacer latéralement vers d'autres systèmes accessibles sur le réseau
* Altérer le code de tout dépôt hébergé
De plus, la vulnérabilité pourrait entraîner une violation de données inter-locataires, exposant les dépôts privés d'autres utilisateurs hébergés sur le même serveur. La faille affecte toutes les plateformes prises en charge, y compris Windows, Linux et macOS.
### Stratégies d'atténuation
Avec une estimation de 1 141 instances **Gogs** exposées sur Internet, et beaucoup d'autres derrière des VPN ou des réseaux internes, l'impact potentiel est significatif. En l'absence d'un patch officiel, les atténuations suivantes sont recommandées :
* Restreindre l'enregistrement des utilisateurs (`DISABLE_REGISTRATION = true` dans `app.ini`)
* Restreindre la création de dépôts (`MAX_CREATION_LIMIT = 0` dans `app.ini`)
* Auditer les paramètres de rebase pour la fusion
### Module Metasploit disponible
**Rapid7** a publié un module **Metasploit** qui automatise la chaîne d'exploit contre les cibles Linux et Windows. Le module prend en charge deux modes :
1. Créer un dépôt temporaire sous le compte de l'attaquant, exécuter l'exploit et supprimer le dépôt.
2. Cibler un dépôt existant auquel l'attaquant a un accès en écriture et en fusion.
Burgess note : "Lorsque l'attaquant crée et supprime son propre dépôt, la seule trace est une erreur HTTP 500 dans les journaux du serveur. Lors de l'exploitation d'un dépôt existant, des artefacts supplémentaires subsistent."