Le 10 septembre 2026, GitLab a publié un correctif critique pour CVE-2026-85706, une faille de traversée de chemin notée 10,0 sur l’échelle CVSS. Elle permet à un attaquant non authentifié de lire des fichiers arbitraires sur un serveur GitLab auto-hébergé. Moins de 24 heures plus tard, watchTowr observait déjà des sondages ciblant les instances exposées sur Internet. La CISA l’a ajoutée à son catalogue KEV, et une preuve de concept est publique. Sur un serveur GitLab, une simple lecture de fichiers peut suffire à exposer clés SSH, identifiants de base de données et variables CI/CD.
- CVE-2026-85706 (CVSS 10,0) : lecture de fichiers arbitraires sans authentification via l’API des commits de dépôt de GitLab CE/EE.
- Toutes les versions depuis la 18.7 sont concernées jusqu’aux versions corrigées 18.11.12, 19.0.9, 19.1.8, 19.2.6 et 19.3.2.
- watchTowr a observé des sondages dans la nature dès le 11 septembre 2026 à 6 h UTC. La CISA a ajouté la faille au KEV, et l’agence de cybersécurité de Singapour signale une PoC publique.
- GitLab.com et GitLab Dedicated sont déjà corrigés. Seules les instances auto-hébergées (self-managed) doivent être mises à jour.
- La même mise à jour corrige CVE-2026-87719 (CVSS 9,9, GitLab EE) et seize autres vulnérabilités.
Ce que GitLab a corrigé
Selon l’avis de GitLab, la faille provient d’un confinement insuffisant des chemins et de l’absence de contrôle d’authentification dans l’API des commits de dépôt (repository commits API). Dans certaines conditions, un utilisateur non authentifié peut lire des fichiers arbitraires sur le serveur. Le vecteur CVSS 3.1 publié par l’éditeur (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N) traduit une attaque à distance, simple, sans privilège ni interaction, avec un impact élevé en confidentialité et en intégrité. La vulnérabilité a été signalée par le chercheur « s3ntago » via le programme HackerOne de GitLab.
Versions concernées et corrigées
| Branche | Versions vulnérables | Version corrigée |
|---|---|---|
| 18.7 à 18.11 | De 18.7 jusqu’à 18.11.12 exclue | 18.11.12 (rétroportage du 23 septembre) |
| 19.0 | Avant 19.0.9 | 19.0.9 (rétroportage du 23 septembre) |
| 19.1 | Avant 19.1.8 | 19.1.8 |
| 19.2 | Avant 19.2.6 | 19.2.6 |
| 19.3 | Avant 19.3.2 | 19.3.2 |
GitLab ne propose aucune mesure de contournement et recommande la mise à jour immédiate de toutes les installations auto-hébergées. GitLab.com tourne déjà sur une version corrigée, et les clients GitLab Dedicated n’ont rien à faire.
Une seconde faille critique dans la même publication
La mise à jour corrige aussi CVE-2026-87719 (CVSS 9,9), une désérialisation non sécurisée dans le sérialiseur des abonnements GraphQL de GitLab EE. Un utilisateur authentifié ayant accès à Duo Chat peut, dans certaines conditions, obtenir la configuration Advanced Search de l’instance et des identifiants sensibles. Elle touche GitLab EE depuis la 18.3. Seize autres vulnérabilités sont également corrigées, dont six de sévérité élevée.
Du correctif aux sondages en moins de 24 heures
| Date | Événement |
|---|---|
| 10 septembre 2026 | GitLab publie les versions 19.3.2, 19.2.6 et 19.1.8 |
| 11 septembre 2026, 6 h UTC | watchTowr signale des sondages actifs dans la nature contre des instances non corrigées |
| 11 septembre 2026 | La CISA ajoute CVE-2026-85706 à son catalogue KEV, selon GitLab et Security Affairs |
| 17 septembre 2026 | La Cyber Security Agency de Singapour signale une exploitation active et une PoC publique |
| 23 septembre 2026 | Rétroportage du correctif sur 19.0.9 et 18.11.12 |
Selon watchTowr, cité par BleepingComputer et Security Affairs, la faille permet de lire des fichiers arbitraires en une seule requête HTTP. D’après les comptes rendus de presse, watchTowr indique aussi qu’il suffit que l’instance héberge au moins un projet public. Ce scénario est courant pour les forges qui publient du code open source.
Le précédent est connu. En mai 2023, CVE-2023-2825, une autre faille GitLab de lecture de fichiers notée 10,0, avait été attaquée quelques jours après sa divulgation.
Pourquoi une « simple » lecture de fichiers est critique
Sur un serveur GitLab, les fichiers de configuration contiennent les secrets qui donnent accès au reste de l’écosystème de développement. Security Affairs cite parmi les données exposées les clés SSH, les identifiants de base de données, les jetons de déploiement et les variables CI/CD. Avec ces éléments, un attaquant peut pousser du code, altérer des pipelines, accéder à des environnements cloud ou de production et passer de la forge à la chaîne d’approvisionnement logicielle.
C’est pourquoi le correctif ne suffit pas pour une instance exposée et vulnérable entre le 10 septembre et la mise à jour. Les secrets lus avant le patch restent valides tant qu’ils ne sont pas renouvelés.
Lecture MITRE ATT&CK
Les sources ne fournissent pas de correspondance ATT&CK. Le tableau ci-dessous est une lecture indicative de Defensy, fondée sur le scénario d’attaque décrit.
| Technique | Comportement |
|---|---|
| T1595.002 — Vulnerability Scanning | Sondages des instances GitLab exposées observés par watchTowr |
| T1190 — Exploit Public-Facing Application | Requête non authentifiée sur l’API des commits pour lire des fichiers |
| T1552.001 — Credentials In Files | Récupération de secrets stockés dans les fichiers du serveur |
Recommandations
- ImmédiatMettre à jour toutes les instances auto-hébergées
Passez en 19.3.2, 19.2.6, 19.1.8, 19.0.9 ou 18.11.12 selon votre branche. Pensez aux instances secondaires (filiales, laboratoires, environnements de test) souvent oubliées.
- ImmédiatRetirer l’accès public en attendant le patch
Si la mise à jour ne peut pas être immédiate, placez l’instance derrière un VPN ou un filtrage IP, comme le recommandent les chercheurs.
- ImmédiatRechercher les tentatives dans les journaux
Cherchez les requêtes HTTP POST vers /api/v4/projects/{id}/repository/commits/ contenant un paramètre file.path, depuis le 10 septembre. GitLab a publié trois détections : lecture de gitlab.yml, LFI via le paramètre metadata.path et tentative de chemin LFI.
- Court termeRenouveler les secrets en cas de doute
Si l’instance était exposée et vulnérable, renouvelez les clés SSH, jetons de déploiement et d’accès, variables CI/CD, identifiants de base de données et clés cloud référencés sur le serveur. Vérifiez ensuite leur usage récent.
- Court termeTraiter aussi CVE-2026-87719
Sur GitLab EE, la même mise à jour corrige la faille Duo Chat / GraphQL. Revoyez qui dispose de l’accès Duo Chat et les identifiants stockés dans la configuration Advanced Search.
- Moyen termeSortir les secrets de la forge
Stockez les secrets CI/CD dans un coffre-fort dédié avec des jetons à durée courte, et supervisez votre forge comme un actif critique dans le SOC.
Une forge de code exposée est une porte d’entrée vers toute la chaîne de développement. Le délai entre correctif et exploitation se compte désormais en heures : il faut savoir en quelques minutes quelles instances sont exposées et dans quelle version.
Avec IGIDER Strike, nous identifions vos actifs exposés et leurs vulnérabilités exploitables. Nos équipes Audit & Offensive Security évaluent la sécurité de vos chaînes DevOps, et notre SOC vous aide à analyser les journaux pour savoir si une tentative a abouti.
- GitLab Critical Patch Release: 19.3.2, 19.2.6, 19.1.8GitLab — 10 septembre 2026, mis à jour le 23 septembre 2026
- Active Exploitation of Critical Vulnerability in GitLab (AL-2026-123)Cyber Security Agency of Singapore — 17 septembre 2026
- CVE-2026-85706NIST — National Vulnerability Database
- GitLab urges users to patch max severity path traversal flawBleepingComputer — 11 septembre 2026
- GitLab CVE-2026-85706: One HTTP Request, No Authentication, Full File Read – Exploited Within 24 HoursSecurity Affairs — 13 septembre 2026
- Faille GitLab CVSS 10 de lecture de fichiers (article d’origine)The Hacker News — septembre 2026
