En bref

  • CVE-2026-110720 : bypass d'autorisation cross-namespace dans HashiCorp Consul-k8s, CVSS 9,9 — un utilisateur à faibles privilèges peut accéder aux ressources de tous les namespaces Consul
  • consul-k8s 0.42.0 à 2.0.4 avec gestion ACL système activée (manageSystemACLs: true) — PoC public Ghost-Bx1 disponible sur sploitus
  • Mettre à jour vers consul-k8s 1.8.18 (LTS) ou 2.1.0 — advisory HCSEC-2026-50 publié le 26 octobre 2026

Les faits

Le 26 octobre 2026, HashiCorp a publié l'advisory de sécurité HCSEC-2026-50 divulguant une vulnérabilité critique dans consul-k8s, l'intégration officielle de HashiCorp Consul pour Kubernetes. Identifiée CVE-2026-110720 et notée 9,9 au CVSS v3.1, cette faille permet à un utilisateur authentifié disposant de faibles privilèges initiaux d'obtenir des droits élevés sur l'ensemble du cluster Consul en contournant les règles de contrôle d'accès entre les namespaces Kubernetes. Le vecteur CVSS complet AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H traduit une exploitabilité réseau sans interaction utilisateur, un périmètre changé (scope change) et un impact maximal sur la confidentialité, l'intégrité et la disponibilité.

Techniquement, la vulnérabilité réside dans les règles de binding ACL du composant de gestion des namespaces dans consul-k8s. Lorsque la gestion des ACL système est activée via le paramètre Helm global.acls.manageSystemACLs: true — configuration recommandée par HashiCorp pour les déploiements en production — un défaut dans la validation des règles de binding permet de traverser les frontières de namespace Kubernetes. Un microservice déployé dans un namespace isolé peut ainsi accéder aux services, aux secrets du Consul KV store et aux configurations réseau d'autres namespaces censés être strictement cloisonnés. Dans une architecture microservices typique, cela signifie qu'un service compromis dans une zone DMZ pourrait pivoter vers des namespaces hébergeant des données sensibles ou des services critiques.

La sévérité est amplifiée par le rôle central de Consul dans les architectures cloud-native modernes. Consul est massivement déployé comme service mesh (avec Consul Connect), pour la découverte de services, la gestion de secrets distribués et la segmentation réseau (intentions). Un bypass de ses ACL remet en question l'ensemble du modèle Zero Trust que Consul est censé enforcer dans les environnements Kubernetes multi-tenant. La confiance accordée au cloisonnement des namespaces s'effondre : tout service ayant des credentials valides peut désormais accéder aux ressources des autres namespaces.

Les versions affectées couvrent consul-k8s 0.42.0 jusqu'à 2.0.4, soit environ quatre ans de releases — un périmètre d'exposition considérable. HashiCorp a publié deux versions correctives : 1.8.18 pour la branche LTS et 2.1.0 pour la branche principale. La condition d'exploitation nécessite que global.acls.manageSystemACLs: true soit configuré, ce qui représente la majorité des déploiements en production suivant les recommandations officielles de HashiCorp. Les clusters consul-k8s avec ACL désactivées ne sont pas vulnérables à ce vecteur spécifique, mais exposent d'autres risques significatifs.

Moins de 24 heures après la publication de l'advisory, la plateforme sploitus a indexé le 27 octobre 2026 un PoC baptisé Ghost-Bx1 (identifiant interne AC1E2DB8-56F6-542F-992B-8A7D6248915D). La disponibilité d'un PoC public réduit drastiquement la barrière technique à l'exploitation et accélère la fenêtre opérationnelle pour des acteurs opportunistes. Des tentatives d'exploitation peuvent être attendues dans les 48 à 72 heures suivant la publication. HashiCorp Consul étant déployé dans des environnements bancaires, cloud et télécoms, l'impact potentiel d'une exploitation réussie est considérable.

Selon les analyses publiées par SecurityOnline le 27 octobre 2026, plusieurs milliers d'instances consul-k8s exposent leur interface d'administration sur Internet selon les données Shodan. Si ces instances tournent en version affectée avec ACL activées, elles sont potentiellement exploitables sans condition réseau supplémentaire. HashiCorp rappelle dans HCSEC-2026-50 que les interfaces d'administration Consul ne devraient jamais être exposées directement sur Internet.

HashiCorp précise dans son advisory que cette vulnérabilité ne concerne pas les déploiements Consul Enterprise utilisant le namespace management natif (distinct des namespaces Kubernetes), ni les déploiements HCP Consul (HashiCorp Cloud Platform) qui ont reçu le correctif avant la divulgation publique dans le cadre de la politique de mise à jour silencieuse de la plateforme cloud. Les utilisateurs d'HCP Consul n'ont pas d'action à entreprendre.

Cette CVE illustre une tendance préoccupante : les composants d'orchestration et de service mesh Kubernetes — Consul, Istio, Linkerd, mais aussi Vault, ArgoCD et Flux — sont devenus des cibles prioritaires. Ces composants concentrent des privilèges élevés, opèrent souvent avec des tokens de service account très permissifs, et sont fréquemment moins bien surveillés et patchés que les applications métier. Selon le rapport State of Kubernetes Security 2026 de Red Hat (septembre 2026), 67 % des incidents Kubernetes impliquent un composant d'infrastructure mal configuré ou non patché comme vecteur initial ou pivot.

Impact et exposition

Tous les clusters Kubernetes exécutant consul-k8s 0.42.0 à 2.0.4 avec manageSystemACLs: true sont vulnérables. Les environnements les plus à risque sont les architectures microservices multi-tenant en production, les plateformes SaaS sur Kubernetes avec isolation par namespace, et tout cluster où plusieurs équipes partagent l'infrastructure avec des périmètres de sécurité distincts. La disponibilité du PoC Ghost-Bx1 rend l'exploitation accessible à des acteurs aux capacités limitées.

Recommandations

  • Immédiat : mettre à jour consul-k8s vers 1.8.18 (LTS) ou 2.1.0 via Helm : helm upgrade consul hashicorp/consul --version 1.8.18
  • Vérifier si global.acls.manageSystemACLs: true est activé dans votre values.yaml — si oui, la mise à jour est critique
  • Auditer les tokens ACL Consul existants pour détecter des permissions anormalement larges pouvant indiquer une exploitation préalable
  • Restreindre l'accès réseau à l'API Consul aux seuls pods autorisés via des NetworkPolicies Kubernetes strictes
  • S'assurer que l'interface HTTP/HTTPS de l'agent Consul (port 8500/8501 par défaut) n'est jamais exposée sur Internet

Alerte critique

Un PoC public (Ghost-Bx1) est disponible sur sploitus pour CVE-2026-110720. Avec un CVSS de 9,9 et une exploitation ne nécessitant que des privilèges initiaux faibles, les tentatives opportunistes sont imminentes. La mise à jour de consul-k8s est la seule mitigation efficace.

Puis-je atténuer la faille sans mise à jour immédiate si mon processus de change management l'impose ?

La seule mitigation temporaire documentée par HashiCorp est de désactiver manageSystemACLs, ce qui dégrade significativement votre posture de sécurité globale. Une alternative partielle est de renforcer les NetworkPolicies Kubernetes pour bloquer toute communication inter-namespace non autorisée au niveau réseau. Pour un déploiement critique, un CVSS 9,9 avec PoC disponible justifie une dérogation au processus standard de change management dans la grande majorité des référentiels de gestion des changements.

Votre infrastructure est-elle exposée ?

Ayi NEDJIMI réalise des audits de sécurité ciblés pour identifier et corriger vos vulnérabilités avant qu'elles ne soient exploitées.

Demander un audit