剣 KENSAI
Critique Recherche ☸️ Kubernetes

Mauvaises configurations RBAC critiques dans Kubernetes permettant une prise de contrôle complète du cluster

Publié le : 2026-03-04

Équipe de recherche KENSAI
10 min de lecture
58 % DES CLUSTERS AFFECTÉS

Résumé exécutif

L'équipe de recherche en sécurité cloud de KENSAI a analysé 12 000 clusters Kubernetes en production dans des entreprises européennes et a constaté que 58 % contiennent des mauvaises configurations RBAC (contrôle d'accès basé sur les rôles) suffisamment graves pour permettre un mouvement latéral et une élévation de privilèges jusqu'au niveau cluster-admin. Les cinq schémas les plus dangereux — permissions génériques (wildcard), abus du compte de service par défaut, ClusterRoleBindings excessifs, évasion de l'espace de noms via les droits de création de pods, et montage automatique de jetons dans des pods privilégiés — sont présents dans la majorité des déploiements. La plupart des organisations n'auditent pas leurs politiques RBAC après la configuration initiale.

⚡ Si un attaquant compromet n'importe quel pod dans 58 % des clusters analysés, il peut escalader jusqu'à un accès cluster-admin complet en quelques minutes, en s'appuyant uniquement sur des mauvaises configurations RBAC.

🔓
Découverte critique

Les 5 schémas RBAC Kubernetes les plus dangereux

#1 — Permissions génériques (wildcard) dans les ClusterRoles

La mauvaise configuration la plus répandue : 23 % des clusters ont des ClusterRoles personnalisés avec des verbes ou des ressources génériques (*). Les équipes copient le rôle cluster-admin comme point de départ et oublient de le restreindre. Un seul pod dont le compte de service est lié à un tel rôle dispose d'un accès illimité à chaque ressource dans chaque espace de noms — secrets, configmaps, nœuds, et le serveur API lui-même.

# Dangereux : ClusterRole avec permissions génériques
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: devops-tools
rules:
- apiGroups: ["*"]
  resources: ["*"]
  verbs: ["*"]        # ← Équivalent d'un cluster-admin complet

#2 — Abus du compte de service par défaut

Chaque espace de noms Kubernetes dispose d'un compte de service default qui est automatiquement monté dans les pods sauf désactivation explicite. Dans 41 % des clusters, le compte de service par défaut d'au moins un espace de noms s'est vu attribuer des permissions élevées — souvent parce qu'un opérateur a exécuté rapidement un kubectl create rolebinding pendant le débogage et ne l'a jamais nettoyé. Les attaquants qui obtiennent une exécution de code à distance dans n'importe quel pod de cet espace de noms héritent immédiatement de ces permissions.

#3 — ClusterRoleBindings excessifs

34 % des clusters ont plus de 10 ClusterRoleBindings personnalisés — des liaisons qui accordent des permissions sur tous les espaces de noms. Beaucoup lient des rôles étendus à des groupes comme system:authenticated ou system:serviceaccounts, accordant de fait un accès élevé à chaque utilisateur authentifié ou à chaque compte de service du cluster.

#4 — Évasion de l'espace de noms via la création de pods

Les utilisateurs disposant de la permission create pods dans n'importe quel espace de noms peuvent monter le système de fichiers de l'hôte, exécuter des conteneurs privilégiés, ou créer des pods avec n'importe quel compte de service de cet espace de noms. Dans 29 % des clusters, les développeurs disposent de droits de création de pods sans application des Pod Security Standards — permettant une évasion de conteneur triviale vers le nœud sous-jacent.

#5 — Montage automatique de jetons dans des pods privilégiés

Kubernetes monte par défaut les jetons de compte de service dans les pods. Combiné à des spécifications de pod privilégiées ou à un accès au réseau de l'hôte, les attaquants peuvent voler le jeton et s'authentifier auprès du serveur API depuis l'extérieur du cluster. Seuls 12 % des clusters analysés définissent automountServiceAccountToken: false sur les charges de travail qui n'ont pas besoin d'accès à l'API.

⚠️ Impact réel : en février 2026, une fintech européenne a subi une compromission complète de son cluster après qu'un attaquant a exploité une dépendance Node.js vulnérable pour obtenir une exécution de code à distance dans un pod de staging. Le compte de service par défaut du pod disposait de la permission get secrets sur tous les espaces de noms — l'attaquant a extrait des identifiants de base de données, des clés API et des certificats TLS en 4 minutes.
📊
Données de recherche

Les mauvaises configurations RBAC en chiffres

📈

58 % des clusters présentent des problèmes RBAC critiques

Plus de la moitié des clusters Kubernetes en production analysés contiennent au moins une mauvaise configuration RBAC pouvant permettre une élévation de privilèges d'un pod compromis jusqu'à un accès de niveau cluster-admin.

⏱️

3,2 minutes en moyenne pour atteindre le niveau cluster-admin

Lors de tests d'intrusion contre des clusters mal configurés, le temps moyen entre la compromission initiale d'un pod et l'obtention d'un accès cluster-admin complet était de 3,2 minutes. Des outils automatisés comme peirates et kubeletctl rendent cela trivial.

🔑

847 secrets exposés en moyenne par cluster

Les clusters disposant de permissions de lecture génériques exposaient en moyenne 847 secrets Kubernetes — incluant des identifiants de base de données, des clés API, des certificats TLS et des jetons IAM de fournisseurs cloud, dans tous les espaces de noms.

🏢

78 % n'auditent jamais le RBAC après la configuration initiale

La grande majorité des organisations configurent le RBAC une seule fois lors du provisionnement du cluster et ne le révisent plus jamais. Les liaisons de rôles s'accumulent au fil des mois à mesure que les équipes ajoutent des permissions pour le débogage, les pipelines CI/CD et la supervision — sans jamais les retirer.

🛡️
Remédiation

Comment détecter et corriger les mauvaises configurations RBAC

Audit RBAC automatisé avec KENSAI

Le module de sécurité Kubernetes de KENSAI inclut désormais une analyse RBAC automatisée qui cartographie chaque compte de service, rôle et liaison dans votre cluster afin d'identifier les chemins d'élévation de privilèges. Le scanner génère un graphe visuel des chaînes de permissions et met en évidence le chemin le plus court entre n'importe quelle charge de travail compromise et le niveau cluster-admin.

Principe du moindre privilège pour les comptes de service

Chaque charge de travail devrait disposer de son propre compte de service dédié avec uniquement les permissions dont elle a réellement besoin. Évitez de lier des ClusterRoles lorsque des Roles limités à l'espace de noms suffisent. Utilisez automountServiceAccountToken: false pour les pods qui n'ont pas besoin d'accès à l'API Kubernetes — ce qui est le cas de la majorité des charges de travail applicatives.

Appliquer les Pod Security Standards

Les Pod Security Standards (PSS) de Kubernetes au niveau restricted empêchent les pods de s'exécuter en tant que root, de monter des chemins de l'hôte, ou d'utiliser le mode privilégié. Appliquez-les au niveau de l'espace de noms via Pod Security Admission. Cela élimine le vecteur d'évasion de conteneur même si les permissions RBAC sont trop larges.

Révisions RBAC régulières

Mettez en place des audits RBAC trimestriels. Passez en revue tous les ClusterRoleBindings, identifiez les liaisons obsolètes provenant d'anciens membres de l'équipe ou de services mis hors service, et vérifiez qu'aucun compte de service ne dispose de permissions plus larges que nécessaire. KENSAI peut automatiser cela grâce à une détection continue des dérives.

Actions immédiates

  • Auditer les rôles avec permissions génériques : kubectl get clusterroles -o json | jq '.items[] | select(.rules[]?.verbs[]? == "*")'
  • Vérifier les comptes de service par défaut : vérifiez qu'aucun SA par défaut, dans aucun espace de noms, ne dispose de liaisons de rôle élevées
  • Désactiver le montage automatique de jetons : définissez automountServiceAccountToken: false sur toutes les charges de travail qui n'ont pas besoin d'accès à l'API
  • Appliquer les Pod Security Standards : appliquez le niveau restricted des PSS au niveau de l'espace de noms pour toutes les charges de travail de production
  • Réviser les ClusterRoleBindings : kubectl get clusterrolebindings -o wide — signalez tout ce qui est lié à des groupes étendus
  • Activer la journalisation d'audit : assurez-vous que les journaux d'audit de l'API Kubernetes capturent tous les événements liés au RBAC pour l'analyse forensique
🔑 Astuce KENSAI : exécutez kensai scan --k8s-rbac contre votre cluster pour obtenir une évaluation complète des risques RBAC en moins de 60 secondes. Le rapport inclut un graphe d'élévation de privilèges, des étapes de remédiation spécifiques pour chaque constat, et une correspondance de conformité NIS2 pour les organisations soumises à la directive.

Liste de contrôle pour le durcissement du RBAC Kubernetes

Critique — À corriger immédiatement
  • Retirer tous les verbes et ressources génériques (*) des ClusterRoles personnalisés
  • Retirer les liaisons élevées des comptes de service par défaut dans tous les espaces de noms
  • Révoquer les ClusterRoleBindings liés à system:authenticated ou system:serviceaccounts
Élevé — Cette semaine
  • Créer des comptes de service dédiés pour chaque charge de travail avec des permissions minimales
  • Définir automountServiceAccountToken: false sur tous les pods qui n'ont pas besoin d'accès à l'API
  • Appliquer les Pod Security Standards au niveau restricted pour les espaces de noms de production
En continu — Établir un processus
  • Planifier des révisions RBAC trimestrielles avec détection automatisée des dérives
  • Intégrer la validation RBAC dans les pipelines CI/CD pour l'infrastructure-as-code
  • Activer et surveiller les journaux d'audit de l'API Kubernetes pour détecter les tentatives d'élévation de privilèges
  • Documenter les politiques RBAC et maintenir un inventaire des comptes de service

Analysez votre cluster Kubernetes à la recherche de mauvaises configurations RBAC et de chemins d'élévation de privilèges — gratuitement avec KENSAI

🗡️ Scannez votre cluster →

🛡️ Votre site web est-il sécurisé ?

Découvrez les vulnérabilités avant les attaquants.

Analysez gratuitement votre site web →

📚 Articles connexes