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-2025-8110-gogs-poc — PoC pour CVE-2025-8110 - Gogs : écriture arbitraire de fichier via lien symbolique | Kitploit
Outils/GitHubGitHub/shirouuu/cve-2025-8110-gogs-poc
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHubshirouuu/cve-2025-8110-gogs-poc

CVE-2025-8110-gogs-poc

PoC pour CVE-2025-8110 - Gogs : écriture arbitraire de fichier via lien symbolique

Voir le dépôt
512il y a 1 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

CVE-2025-8110 — Écriture arbitraire de fichier dans Gogs (PoC)

Preuve de concept pour une écriture arbitraire de fichier authentifiée dans Gogs. En poussant un dépôt qui contient un lien symbolique pointant à l'extérieur du dépôt, puis en mettant à jour le contenu de ce lien via l'API, un utilisateur authentifié peut écraser des fichiers sur l'hôte avec les privilèges du compte exécutant Gogs.

Tests autorisés et à but éducatif uniquement. Exécutez ceci uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de test. Vous êtes responsable de la manière dont vous l'utilisez.

Comment ça marche

  1. Authentifiez-vous sur Gogs avec un compte existant.
  2. Générez un jeton d'application (API) depuis les paramètres utilisateur.
  3. Créez un dépôt.
  4. Ajoutez un lien symbolique (malicious_link -> /path/on/host) et poussez-le.
  5. Envoyez un PUT à l'API Contents pour mettre à jour malicious_link. Gogs suit le lien symbolique et écrit le contenu fourni dans le chemin cible — avec ses propres privilèges. Si Gogs s'exécute en tant que root, il s'agit d'une primitive directe d'élévation de privilèges (par exemple, placer une règle dans /etc/sudoers.d/).

L'PUT de l'API est ce qui déclenche réellement l'écriture ; le push ne fait que placer le lien symbolique.

Prérequis

  • Python 3.8+
  • git disponible dans le PATH
  • Un compte Gogs existant (l'inscription peut être désactivée sur la cible)
root@kitploit:~
pip install -r requirements.txt

Utilisation

root@kitploit:~
python3 exploit.py \
    -u http://127.0.0.1:3000 \
    --user <username> \
    --password '<password>' \
    --target /etc/sudoers.d/pwned \
    --payload '<username> ALL=(ALL) NOPASSWD: ALL'

Omettez --password pour être invité de manière sécurisée au lieu de le passer en ligne de commande.

Accéder à une instance Gogs interne

Gogs est souvent lié à localhost sur la cible. Utilisez le forwarding de port local SSH pour l'exposer à votre machine (ajustez les ports pour correspondre à la cible) :

root@kitploit:~
ssh -L 3000:127.0.0.1:3000 user@target
# then point the exploit at http://127.0.0.1:3000

Vérifier l'écriture

Après une exécution réussie, vérifiez sur l'hôte (en tant qu'utilisateur concerné) :

root@kitploit:~
cat /etc/sudoers.d/pwned
sudo -l

Si vous avez écrit une règle sudoers, notez que les fichiers dans /etc/sudoers.d/ doivent être valides et avoir les permissions appropriées pour que sudo les prenne en compte.

Notes / dépannage

  • auto_init renvoie HTTP 500 — le script se rabat sur la création d'un dépôt vide et son peuplement avec un git init local + push.
  • Push rejeté (non-fast-forward) — le script se réconcilie avec le remote et réessaie ; il gère également master vs main.
  • Jeton CSRF introuvable — signifie généralement que la cible/le port est erroné (vous atteignez un service différent) ou que la session n'est pas authentifiée.

Atténuation

Mettez à jour vers une version de Gogs qui valide les liens symboliques dans l'API Contents. Comme défense en profondeur, évitez d'exécuter Gogs en tant que root et isolez le stockage des dépôts.

Licence

MIT — voir LICENSE.

Télécharger l’outil