Retour au blog
GitLabAI gatewaysecretsLLMfuite de données

GitLab AI Gateway : la clé API de votre LLM est lisible par n'importe quel Reporter — CVE-2026-8810

Publié le 2026-10-035 min de lectureCleanIssue

> En bref : Sur GitLab 18.6.0 à 18.8.1 (self-managed et SaaS), la configuration de l'AI Gateway — clé API du provider LLM comprise — était lisible par tout utilisateur au rôle Reporter. Les logs de la gateway exposaient aussi des extraits des prompts d'autres utilisateurs. Corrigé dans 18.8.2. Si vous avez l'AI Gateway activée : faites tourner la clé du provider et vérifiez son historique d'utilisation.

Ce qu'est l'AI Gateway

L'AI Gateway est le composant central des appels LLM introduit dans GitLab 18.6 : un seul endpoint pour toutes les fonctions IA (Copilot, Duo, intégrations custom), avec routage vers les providers (OpenAI, Anthropic, etc.), quotas et suivi d'utilisation.

En contrepartie, elle détient deux choses : la clé API du provider (dépense + accès au compte) et le contenu des prompts (questions posées à l'IA = données métier, parfois du code).

La faille : un Reporter peut lire les deux

  • CVE-2026-8810 — l'endpoint de configuration de la gateway (\/api/v1/ai_gateway/config\\) était lisible avec le rôle Reporter. La réponse contenait la clé API du provider en clair.
  • L'endpoint de logs (\/api/v1/ai_gateway/logs\\) exposait, pour le même rôle, des extraits des prompts d'autres utilisateurs de l'instance.
  • CVSS 6.5 (impact limité au périmètre de l'instance + du compte provider). Ce n'est pas une RCE — mais c'est la classe de faille classique : un secret stocké pour le service, lisible par l'utilisateur le moins privilégié du produit.

    Ce que ça expose concrètement

  • La clé du provider : qui la possède peut consommer le compte (dépense) et accéder à ce que le compte expose — modèles, usage, parfois d'autres clés du même provider.
  • Les prompts : ce que les utilisateurs ont demandé à l'IA. Dans une org produit : des specs, des tickets, parfois du code. Des extraits dans les logs suffisent pour une lecture ciblée.
  • Le profil Reporter : un rôle en lecture seule, souvent donné aux clients, aux analystes, au support. C'est le rôle le plus large.
  • Qui est affecté

  • GitLab 18.6.0 → 18.8.1 (self-managed et SaaS), AI Gateway activée. Corrigé dans 18.8.2.
  • Si vous êtes sur 18.4/18.5 : la gateway n'existe pas encore — vérifiez qu'aucune intégration custom n'expose la clé ailleurs.
  • Ce qu'il faut vérifier maintenant

  • Faites tourner la clé API du provider (OpenAI/Anthropic/…) : même si personne ne l'a lue, la rotation coûte quelques minutes.
  • Vérifiez l'historique d'usage du provider : une dépense anormale ou des appels de modèles pendant la fenêtre 18.6 → 18.8.1 = signe de lecture.
  • Revoyez qui avait Reporter sur l'instance pendant cette période.
  • Dans 18.8.2, la clé n'est plus dans la réponse de config et les logs sont restreints à Maintainer+. Vérifiez après l'upgrade.
  • La leçon

    Une AI Gateway est un nouveau genre de composant : c'est à la fois un vault de secrets (clés provider) et un flux de données (prompts). Les deux méritent le même traitement qu'un API gateway : least privilege sur la config, audit des logs, rotation des clés. Quand vous ajoutez un LLM dans la stack, ajoutez sa gateway à la liste des choses à tester.

    Vous éditez un logiciel ? CleanIssue réalise des audits de sécurité pour votre produit en conditions réelles, sans accès au code. Pour une première lecture de votre exposition, commencez par une revue externe de votre application.

    Articles liés

    Trois analyses proches pour continuer la lecture sur la meme surface de risque.

    Besoin de savoir ce que votre agent IA peut faire ?

    Expliquez votre agent, ses tools et votre contexte client. Nous revenons vers vous avec le bon niveau de revue.

    Parler de votre audit