CVE-2026-85706 est une vulnérabilité de traversée de chemin CVSS 10.0 dans l'API commits de GitLab CE/EE, permettant à un attaquant non authentifié de lire n'importe quel fichier serveur via une seule requête HTTP. Exploitation active confirmée, ajouté au catalogue KEV CISA.
En bref
- CVE-2026-85706 : path traversal CVSS 10.0 dans l'API commits de GitLab CE/EE — lecture arbitraire de fichiers sans authentification via une seule requête HTTP POST
- Versions affectées : GitLab CE/EE 18.7 à 19.3.1 inclus (toutes éditions avant 19.3.2, 19.2.6 et 19.1.8)
- Action urgente : mettre à jour immédiatement vers GitLab 19.3.2, 19.2.6 ou 19.1.8 — exploitation active confirmée, vulnérabilité ajoutée au catalogue KEV CISA
Les faits
CVE-2026-85706 est une vulnérabilité de traversée de chemin (path traversal) de sévérité maximale affectant les éditions Community et Enterprise de GitLab auto-hébergées (self-managed). Le score CVSS 3.1 a été fixé à 10.0 (Critique), avec le vecteur CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N, reflétant une exploitation réseau sans authentification, sans interaction utilisateur et sans complexité d'attaque particulière. Ce score maximal traduit l'absence totale de barrière entre un attaquant distant et les fichiers hébergés sur le serveur GitLab.
La faille réside dans l'endpoint de l'API repository commits : /api/v4/projects/{id}/repository/commits/. Sous certaines conditions de configuration, une instance GitLab ne confinait pas correctement les chemins de fichiers transmis dans le paramètre file.path du corps de la requête. Un attaquant non authentifié peut envoyer une unique requête HTTP POST malveillante contenant une séquence de traversée de répertoire pour lire n'importe quel fichier accessible par le processus GitLab sur le serveur hôte, qu'il s'agisse de fichiers de configuration, de clés privées ou de données applicatives.
GitLab a publié les versions corrigées 19.3.2, 19.2.6 et 19.1.8 le 10 septembre 2026. L'annonce a déclenché une vague immédiate de reconnaissance et d'exploitation active : selon les rapports de Security Affairs et du CISA, des attaques in-the-wild ont été confirmées en moins de 24 heures suivant la divulgation publique. Le CISA a ajouté CVE-2026-85706 à son catalogue KEV (Known Exploited Vulnerabilities) avec une directive d'application de correctif sous un délai réduit pour les agences fédérales américaines.
Les versions affectées couvrent un large spectre : toutes les instances GitLab CE et EE depuis la version 18.7 jusqu'aux builds non corrigées des branches 19.1.x (avant 19.1.8), 19.2.x (avant 19.2.6) et 19.3.x (avant 19.3.2). Les instances GitLab.com (SaaS géré par GitLab) ont reçu le patch automatiquement et ne sont pas concernées. Seules les installations auto-hébergées sont exposées.
Du point de vue technique, la root cause est une défaillance dans le confinement des chemins (path confinement) combinée à une absence de contrôle d'authentification sur certaines branches de code de l'endpoint commits. La CWE associée est CWE-22 (Improper Limitation of a Pathname to a Restricted Directory). Les équipes de recherche de Horizon3.ai et watchTowr ont analysé la vulnérabilité et décrit qu'une seule requête suffit à exfiltrer des fichiers sensibles comme les clés privées SSH, les tokens d'API, les fichiers de configuration gitlab.rb, les secrets Rails, les variables d'environnement CI/CD, ou encore les dépôts de code source hébergés.
Un proof-of-concept public a circulé très rapidement après la divulgation, ce qui explique en grande partie la vitesse d'exploitation observée. Les logs applicatifs constituent le principal indicateur d'une tentative : GitLab recommande d'inspecter les requêtes POST vers l'endpoint /api/v4/projects/[id]/repository/commits/ contenant des paramètres file.path suspects. Une exploitation réussie ne laisse aucune trace visible dans les données applicatives, rendant la détection post-exploitation difficile sans analyse proactive des logs.
Le périmètre d'impact est particulièrement étendu dans les environnements DevSecOps modernes : des milliers d'instances GitLab auto-hébergées exposent des secrets d'application, des pipelines CI/CD, des credentials cloud (AWS, Azure, GCP), des clés de signature, des certificats et des dépôts de code source propriétaire. Selon les rapports de Rapid7 et The Hacker News, cette vulnérabilité représente l'une des menaces les plus graves pour l'écosystème DevOps depuis plusieurs mois, d'autant que de nombreuses instances GitLab sont directement exposées sur Internet en entreprise sans protection additionnelle.
La rapidité de l'exploitation et la facilité technique (une seule requête HTTP sans credential) placent CVE-2026-85706 dans la catégorie des vulnérabilités à traiter en priorité absolue. L'accès aux secrets stockés sur le serveur peut rapidement conduire à une compromission totale de l'infrastructure cible, car les tokens CI/CD et clés SSH permettent généralement d'accéder aux environnements de production.
Impact et exposition
Toute organisation hébergeant une instance GitLab auto-gérée sur les versions affectées est directement exposée, qu'elle soit accessible depuis Internet ou uniquement en réseau interne. La surface d'attaque est particulièrement critique dans les environnements où GitLab centralise les secrets d'infrastructure : variables d'environnement des pipelines CI/CD, tokens d'accès aux registres d'images Docker, clés SSH d'accès aux serveurs de production, credentials de base de données ou tokens API tiers (Slack, JIRA, SonarQube, HashiCorp Vault).
L'exploitation ne requiert aucune authentification préalable, aucun compte GitLab, aucune connaissance du projet ou du repository. Il suffit de connaître ou deviner un identifiant de projet numérique, information facilement obtenue par énumération sur les instances publiques. Sur les instances privées, l'attaquant doit pouvoir atteindre le service réseau GitLab, ce qui reste possible dans de nombreux scénarios de mouvement latéral au sein d'un réseau d'entreprise compromis.
L'exploitation active confirmée par le CISA signifie que des acteurs malveillants ciblent activement les instances vulnérables à grande échelle avec des outils automatisés. Les honeypots de sécurité ont enregistré des tentatives de scan automatisé dès les premières heures suivant la divulgation, selon les analyses de SC Media. Le risque de compromission totale d'une infrastructure DevOps est élevé si des secrets critiques sont stockés dans les fichiers accessibles par le processus GitLab.
Les instances GitLab utilisées dans des contextes gouvernementaux, de défense, de recherche ou d'infrastructures critiques sont particulièrement visées par des acteurs étatiques cherchant à accéder à du code source sensible, des plans d'architecture ou des clés cryptographiques. La directive KEV CISA reflète cette priorité de traitement urgente.
Recommandations immédiates
- Mettre à jour GitLab CE/EE vers la version 19.3.2, 19.2.6 ou 19.1.8 selon votre branche — GitLab Security Advisory CVE-2026-85706
- Si la mise à jour immédiate est impossible : bloquer au niveau du WAF ou du reverse proxy toute requête POST vers /api/v4/projects/*/repository/commits/ contenant des séquences ../ encodées ou en clair dans le corps de requête
- Auditer les logs Nginx et applicatifs GitLab pour les 10 derniers jours à la recherche de requêtes POST suspectes vers l'endpoint commits avec des paramètres file.path anormaux
- Effectuer une rotation immédiate de tous les secrets potentiellement exposés : tokens CI/CD, clés SSH, tokens API, mots de passe de base de données, certificats et variables d'environnement
- Vérifier si l'instance est exposée sur Internet et envisager une restriction au réseau interne via VPN ou liste blanche IP en attendant le patch
- Indicateurs de compromission (IOC) : requêtes POST vers /api/v4/projects/[id]/repository/commits/ contenant des paramètres file.path avec des séquences ../, %2e%2e%2f ou ..%2f
⚠️ Urgence maximale
CVE-2026-85706 est activement exploitée in-the-wild avec CVSS 10.0, ajoutée au catalogue KEV CISA. Toute instance GitLab auto-hébergée non patchée doit être considérée comme potentiellement compromise. Appliquer le patch immédiatement ou isoler l'instance du réseau sans délai.
Comment savoir si je suis vulnérable ?
Vérifiez votre version GitLab dans Admin Area → Help ou via la commande sudo gitlab-rake gitlab:env:info. Si votre version est antérieure à 19.3.2, 19.2.6 ou 19.1.8 et que vous êtes sur les branches 18.7–19.3, vous êtes vulnérable. Pour les instances Docker : docker exec gitlab cat /opt/gitlab/version-manifest.txt | grep gitlab-ce. Pour détecter une tentative d'exploitation, analysez vos logs : grep -E "POST.*commits.*file" /var/log/gitlab/nginx/gitlab_access.log
Votre infrastructure GitLab est-elle exposée ?
Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités DevSecOps.
Demander un auditÀ propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
ayi@ayinedjimi-consultants.fr
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Testez vos connaissances
Mini-quiz de certification lié à cet article — propulsé par CertifExpress
Articles connexes
CVE-2026-69579 : Windows MSMQ RCE sans authentification CVSS 9.8
CVE-2026-69579 est une vulnérabilité RCE critique CVSS 9.8 de type use-after-free dans Windows Message Queuing (MSMQ). Un attaquant non authentifié peut exécuter du code arbitraire sur tout système Windows exposant le service MSMQ via un paquet réseau forgé. Patch disponible depuis le Patch Tuesday de septembre 2026.
CVE-2026-85102 : Check Point VPN RCE sans authentification CVSS 9.8
CVE-2026-85102 et CVE-2026-85103 sont deux vulnérabilités critiques CVSS 9.8 dans Check Point Quantum Security Gateway permettant une RCE sans authentification via des failles de validation de certificat VPN. Le NCSC néerlandais alerte sur une exploitation imminente.
CVE-2026-83711 : Azure AD B2C auth bypass CVSS 10.0, corrigé côté serveur
CVE-2026-83711 est un contournement d'autorisation CVSS 10.0 (maximum) dans Azure Active Directory B2C divulgué le 3 septembre 2026. Microsoft a corrigé la faille côté serveur sans action requise côté client, mais les administrateurs B2C doivent vérifier leurs configurations.
Un projet cybersécurité ? Parlons-en.
Pentest, conformité NIS 2, ISO 27001, audit IA, RSSI externalisé… nos experts répondent sous 24h pour évaluer votre besoin et vous proposer un accompagnement sur mesure.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire