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-19478 — Détecte CVE-2026-19478 dans GitLab CE/EE avec un template Nuclei non destructif qui déclenche l'invocation de la méthode du champ fallback de GraphQL via touch et confirme les instances vulnérables sans appels destructifs. | Kitploit
Outils/GitHubGitHub/renzi25031469/cve-2026-19478
Scanners de Vulnérabilités WebAnalyse des VulnérabilitésExploitation d'Applications WebTests de Sécurité des APICollecte d'InformationsSécurité WebTests d'Intrusion
GitHub
renzi25031469/cve-2026-19478

CVE-2026-19478

Détecte CVE-2026-19478 dans GitLab CE/EE avec un template Nuclei non destructif qui déclenche l'invocation de la méthode du champ fallback de GraphQL via touch et confirme les instances vulnérables sans appels destructifs.

Voir le dépôt
16il y a 21 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-19478 — GitLab GraphQL fallback-field arbitrary method invocation — Nuclei detection template

CVE Severity Nuclei Target License

CVE-2026-19478 — Modèle Nuclei

Modèle de détection Nuclei non destructif pour CVE-2026-19478, une faille critique (CVSS 9.4) d'invocation arbitraire de méthode non authentifiée dans l'API GraphQL de GitLab, corrigée par GitLab le 17 août 2026.

En bref

Le schéma GraphQL de GitLab prend en charge une directive @gl_introduced(version: "X.Y.Z") qui conditionne un champ à une version minimale de GitLab. Lorsque la directive référence une version que celle de l'instance en cours d'exécution, GitLab génère un pour le nom de champ (par ailleurs inconnu). Ce résolveur de repli appelle directement sur l'objet Ruby sous-jacent — , , etc. — .

plus récente
champ de repli
object.public_send(method_name)
Project
User
sans revérifier l'autorisation

Résultat : un attaquant non authentifié qui peut atteindre /api/graphql et connaît le fullPath d'un projet public quelconque (ou le nom d'utilisateur d'un profil public quelconque) peut invoquer toute méthode publique sans argument sur cet objet. Cela inclut des méthodes en lecture seule comme touch, mais aussi des méthodes destructrices comme destroy / delete, et des méthodes modifiant l'état comme deactivate / block / ban.

Le modèle de ce dépôt n'appelle jamais que touch (met à jour updated_at, renvoie true) — voir Sécurité ci-dessous.

Versions affectées

VersionAffectéeCorrigée
18.2.x – 18.11.x>= 18.2, < 18.11.1118.11.11
19.0.x< 19.0.819.0.8
19.1.x< 19.1.619.1.6
19.2.x< 19.2.419.2.4

GitLab CE/EE auto-hébergé uniquement — GitLab.com et GitLab Dedicated n'étaient pas concernés.

Sécurité

Ce modèle est volontairement neutralisé pour analyser des parcs de serveurs que vous êtes autorisé à tester :

  • Il n'invoque que touch via le champ de repli (une méthode ActiveRecord qui ne fait que mettre à jour updated_at et renvoyer true).
  • Il n'appelle jamais destroy, delete, deactivate, block ou ban — toutes ces méthodes étant accessibles via la même faille et étant réellement destructrices.
  • La détection est opportuniste : elle énumère un projet public via l'API REST et, si aucun n'est visible, elle se rabat sur l'interrogation du profil utilisateur par défaut root. Si aucun des deux n'est accessible, elle signale simplement « non détecté » plutôt que de deviner.

Ne réutilisez pas la requête GraphQL de ce modèle pour appeler des méthodes de mutation sur des systèmes qui ne vous appartiennent pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite de test.

Comment fonctionne la détection

ÉtapeRequêteObjectif
1GET /api/v4/projects?visibility=publicTrouver un projet public à utiliser comme cible inoffensive
2POST /api/graphql — touch @gl_introduced(version: "999.0.0") sur ce projetDéclencher le résolveur de champ de repli ; une instance vulnérable renvoie "touch": true
3 (repli)POST /api/graphql — même requête sur user(username: "root")Utilisée uniquement si aucun projet public n'a été trouvé à l'étape 1

Une instance corrigée rejette directement le champ inconnu ("... doesn't exist on type ..."), le matcher du modèle exige donc le signal positif touch et l'absence de ce message de rejet.

Utilisation

root@kitploit:~
# cible unique
nuclei -t CVE-2026-19478.yaml -u https://gitlab.example.com

# valider le modèle lui-même
nuclei -t CVE-2026-19478.yaml -validate

# une liste de cibles, sortie JSON
nuclei -t CVE-2026-19478.yaml -l targets.txt -j -o results.json

Nécessite nuclei v3 (ce modèle utilise le bloc de protocole http: et un extracteur json de type jq introduits dans le moteur de modèles v3 ; il ne se chargera pas sur nuclei v2.x).

Exemple de sortie

root@kitploit:~
[CVE-2026-19478] [http] [critical] https://gitlab.example.com/api/graphql

Remédiation

Mettez à niveau vers 18.11.11, 19.0.8, 19.1.6 ou 19.2.4 (ou version ultérieure). Consultez les notes de version du correctif 19.2.4 de GitLab pour l'avis complet.

Références

  • Notes de version du correctif 19.2.4 de GitLab
  • The Hacker News — Critical GitLab GraphQL Flaw Could Let Unauthenticated Attackers Delete Public Projects
  • Rescana — CVE-2026-19478 technical writeup
  • PoC (davkharrr/CVE-2026-19478-PoC)

Avertissement

Ce modèle est publié à des fins de sécurité défensive — analyse d'infrastructures qui vous appartiennent ou pour lesquelles vous êtes explicitement autorisé à tester. L'exécuter (ou le PoC lié) contre des systèmes sans autorisation est illégal dans la plupart des juridictions. L'auteur décline toute responsabilité en cas d'utilisation abusive.

Licence

MIT

Télécharger l’outil