Threat Intelligence

CVE-2026-19478 : un correctif GitLab hors cycle pour une mutation GraphQL exploitable sans authentification

Admin CyberAfrik 18 August 2026 54 lectures
CVE-2026-19478 : un correctif GitLab hors cycle pour une mutation GraphQL exploitable sans authentification

Rapport CTI technique du 18 août 2026

Résumé exécutif

GitLab a publié le 17 août 2026 un correctif critique hors cycle, cinq jours après une publication de routine sans faille critique. Il corrige CVE-2026-19478 (CVSS 9.4), une faille qui, sous certaines conditions, permet à un utilisateur non authentifié de modifier ou supprimer à distance des projets publics et des données utilisateur via une directive GraphQL. Le correctif est disponible en 19.2.4, 19.1.6, 19.0.8 et 18.11.11. GitLab.com et GitLab Dedicated tournent déjà en version corrigée et ne nécessitent aucune action ; seules les instances self-managed sont concernées. Aucune exploitation n'a été signalée à ce jour et aucun code d'exploit public n'a été identifié.

Le même correctif traite CVE-2026-19650 (CVSS 7.1), une CSRF dans le gestionnaire de requêtes multiplex GraphQL permettant l'exécution de mutations via des requêtes GET, mais qui nécessite une interaction de la victime. GitLab n'a nommé ni la directive vulnérable ni détaillé les conditions exactes d'exploitation de CVE-2026-19478, invoquant sa politique de divulgation différée : les détails techniques ne seront publiés sur le tracker d'issues qu'environ 90 jours après le correctif, soit vers la mi-novembre 2026. Ce délai rappelle un précédent de juillet 2026, où un exploit fonctionnel pour une autre faille RCE self-managed avait été publié peu après la sortie du correctif correspondant.

Chronologie

DateÉvénement
10 juin 2026GitLab porte sa fenêtre de divulgation publique sur le tracker d'issues à 90 jours après le correctif
Juillet 2026Des chercheurs publient un exploit fonctionnel pour une faille RCE distincte affectant les instances self-managed, peu après un correctif de routine
12 août 2026Publication de routine GitLab, sans faille critique
17 août 2026Publication critique hors cycle : GitLab 19.2.4, 19.1.6, 19.0.8 et 18.11.11 corrigent CVE-2026-19478 (critique, 9.4) et CVE-2026-19650 (élevé, 7.1)
18 août 2026Aucun exploit public identifié ; détails techniques attendus vers la mi-novembre 2026 selon la politique de divulgation de GitLab

Fiche vulnérabilité (format fiche CTI)

CVE-2026-19478 | CVSS 9.4 (critique) | GitLab CE/EE, API GraphQL (directive non nommée)

Description technique : selon l'avisory GitLab, la faille corrigée permettait, sous certaines conditions, à un utilisateur non authentifié de modifier ou supprimer à distance des projets publics et des données utilisateur via une directive GraphQL. GitLab n'a communiqué ni le nom de la directive concernée ni les conditions précises d'exploitation. Le vecteur CVSS publié indique une exploitation réseau sans privilège requis et sans interaction utilisateur, cohérent avec une mutation exécutable directement contre un point d'accès public.

Conditions d'exploitation : instance self-managed GitLab CE ou EE dans une plage de versions affectées : 18.2 jusqu'à 18.11.10 inclus, 19.0 avant 19.0.8, 19.1 avant 19.1.6, 19.2 avant 19.2.4. Les versions 18.2 à 18.10 restent dans la plage affectée mais l'annonce ne mentionne pas de rétroportage du correctif pour ces branches hors support. GitLab.com et GitLab Dedicated tournent déjà en version corrigée.

PoC disponible : non, à la date du 18 août 2026.

Patch/mitigation : mise à jour vers 19.2.4, 19.1.6, 19.0.8 ou 18.11.11 selon la branche suivie. Pour les instances encore en 18.2-18.10, une migration vers une branche supportée s'impose en l'absence de correctif rétroporté officiel.

CVE-2026-19650 | CVSS 7.1 (élevé) | GitLab CE/EE, gestionnaire de requêtes multiplex GraphQL

Description technique : CSRF permettant à un utilisateur non authentifié d'exécuter des mutations via des requêtes GET, en raison d'une validation de requête insuffisante dans le traitement des requêtes multiplex GraphQL.

Conditions d'exploitation : la victime doit être authentifiée sur une instance vulnérable et déclencher l'interaction, par exemple en chargeant une page contrôlée par l'attaquant pendant sa session.

PoC disponible : non signalé publiquement.

Patch/mitigation : couvert par le même lot de correctifs que CVE-2026-19478.

Diagramme de la chaîne d'attaque

Diagramme construit à partir de l'avisory GitLab et du calendrier de publication des correctifs. GitLab n'ayant pas détaillé le mécanisme d'exploitation, les étapes techniques figurant dans l'analyse ci-dessous sont une lecture déduite du vecteur CVSS publié, pas une confirmation éditeur.

Analyse technique

Étape 1 : cartographie de l'exposition

Un attaquant identifie les instances GitLab self-managed accessibles publiquement et leur version exacte, via la bannière HTTP, l'endpoint /help ou l'API de version, afin de cibler les branches 18.2 à 19.2 non corrigées.

Étape 2 : construction de la requête GraphQL

La directive vulnérable n'étant pas publiée, cette étape reste une lecture déduite : un attaquant capable de la reconstituer formulerait une requête multiplex ciblant une mutation de suppression ou de modification de projet public, en s'appuyant sur la même faiblesse de validation de requête que celle documentée pour CVE-2026-19650.

Étape 3 : exécution non authentifiée

La requête serait envoyée sans jeton de session ni cookie valide. Le vecteur CVSS (PR:N/UI:N) indique que le serveur traite la mutation sans vérification d'autorisation suffisante à ce stade.

Étape 4 : impact

Modification ou suppression de projets publics et des données utilisateur associées, avec un risque de perte de code source, d'historique Git, d'issues et de configurations CI/CD pour les projets ciblés.

Indicateurs de compromission

TypeValeur
Versions affectéesGitLab CE/EE 18.2 à 18.11.10, 19.0 avant 19.0.8, 19.1 avant 19.1.6, 19.2 avant 19.2.4
Versions corrigées19.2.4, 19.1.6, 19.0.8, 18.11.11
Indicateurs réseau ou fichiers publiésaucun, pas d'exploitation confirmée à ce jour
Date de divulgation technique prévueenviron le 15 novembre 2026 (délai de 90 jours après le correctif)

MITRE ATT&CK

Aucune cartographie officielle n'a été publiée par GitLab pour cette faille, dont le mécanisme précis reste embargoé. Le tableau suivant est une lecture technique construite à partir du vecteur CVSS publié et de la faille voisine CVE-2026-19650, pas une attribution vendeur.

TactiqueTechniqueIDJustification
ReconnaissanceActive Scanning: Vulnerable SoftwareT1595.002Identification des instances self-managed non patchées et de leur version exacte
Initial AccessExploit Public-Facing ApplicationT1190Exploitation directe d'un point d'accès GraphQL public sans authentification
Initial AccessPhishing (pour la variante CSRF)T1566Interaction utilisateur nécessaire pour déclencher CVE-2026-19650
ImpactData DestructionT1485Suppression de projets publics et de données utilisateur associées

Remédiation : checklist opérationnelle

  1. Mettre à jour immédiatement toute instance self-managed vers 19.2.4, 19.1.6, 19.0.8 ou 18.11.11 selon la branche suivie.
  2. Pour les déploiements encore en 18.2-18.10, planifier en priorité une migration vers une branche supportée puisque ces versions ne reçoivent pas de rétroportage.
  3. Vérifier la version exacte des instances hybrides ou des proxies internes ; ne pas supposer qu'un déploiement lié à GitLab.com est automatiquement à jour.
  4. Auditer les journaux d'accès GraphQL à la recherche de requêtes multiplex anormales ou de mutations exécutées sans session authentifiée valide sur les 30 derniers jours.
  5. Restreindre l'exposition publique de l'endpoint /api/graphql via un reverse proxy ou une couche d'authentification supplémentaire lorsque l'usage métier le permet.
  6. Prévoir un second passage de détection à la mi-novembre 2026, une fois les détails techniques de la directive GraphQL rendus publics par GitLab.

Sources

Tags : CVE-2026-19478CVE-2026-19650GitLabGraphQLCSRFDevOps Securityvulnerability disclosure
Partager cet article