Vulnérabilités critiques de Kubernetes : Rester informé
Dans le paysage en constante évolution de la cybersécurité, la vigilance est cruciale, surtout lorsqu'il s'agit de systèmes compliqués et fréquemment utilisés comme Kubernetes. Un trio de failles de failles de sécurité de haute sévérité viennent d'être découvertes, représentant une menace substantielle pour les environnements Kubernetes.. Bien que ces vulnérabilités Kubernetes Windows au sein d'un cluster Kubernetes, leurs ramifications potentielles s'étendent au-delà des systèmes Windows, soulignant ainsi l'importance de la sécurité des systèmes d'information. l'importance d'une des mesures de sécurité robustes plateformes dans le monde centré sur Linux.
Le trio CVE : CVE-2023-3676, CVE-2023-3893 et CVE-2023-3955
La note CVSS de ces trois vulnérabilités est de 8,8. Le score CVSS pour ces trois vulnérabilités, CVE-2023-3676, CVE-2023-3893 et CVE-2023-3955, est de 8,8.. Elles ont la capacité d'exécuter du code à distance avec des privilèges élevés au sein d'un cluster Kubernetes. Il est important de noter que ces failles affectent tous les systèmes Kubernetes impliquant des nœuds Windows.
Akamai a divulgué de manière responsable ces risques de sécurité Kubernetes le 13 juillet 2023déclenchant une réaction rapide de la part de la communauté Kubernetes. Le 23 août 2023, des correctifs ont été publiés, soulignant l'importance des efforts de collaboration dans le domaine des logiciels libres.
Décortiquer les vulnérabilités de Vulnérabilités de Kubernetes
Les vulnérabilités sont liées à la manipulation de fichiers YAML, un langage de configuration largement utilisé dans Kubernetes pour gérer la sécurité de l'exécution des conteneurs dans les applications. La possibilité d'exploiter ces failles provient de la connexion directe des fichiers YAML et du moteur Kubernetes.
Notamment, vulnérabilités dans l'analyse YAML ont déjà déclenché des signaux d'alarme dans les mises à jour de sécurité de mises à jour de sécurité de Kubernetes. CVE-2022-1471, par exemple, a révélé une vulnérabilité d'exécution de code à distance dans l'analyseur SnakeYaml, affectant le client Java de Kubernetes. CVE-2021-25749 a également permis l'inclusion de noms d'utilisateurs mal orthographiés dans les fichiers YAML, ce qui a entraîné l'exécution de charges de travail avec root.
La saga des sous-propriétés de SubPath
Les vulnérabilités dont nous parlons aujourd'hui s'inspirent de problèmes antérieurs liés à la sous-propriété "subPath" dans les fichiers YAML. En utilisant la propriété "volume", Kubernetes permet le montage d'un répertoire à partir du système hôte à l'intérieur d'un conteneur, une capacité couramment utilisée dans l'écosystème Kubernetes. Cette fonctionnalité a de nombreuses sous-propriétés, "subPath" étant l'une d'entre elles. Lorsque "subPath" est spécifié dans un fichier YAML, il est traité par kubelet, un service essentiel de Kubernetes.
Les subtilités de PowerShell
La racine de ces failles se trouve dans la façon dont Kubernetes traite la chaîne "subPath". Lors du traitement, kubelet détermine s'il s'agit d'un lien symbolique. Cette protection, en revanche, est mise en œuvre via une commande PowerShell invoquée par l'appel de fonction "exec.Command". Cela ouvre la porte aux attaquants pour attacher du code PowerShell à la chaîne "subPath", qui sera ensuite exécutée.
La capacité de PowerShell à évaluer les valeurs des chaînes avant leur utilisation permet aux attaquants d'introduire facilement des commandes malveillantes. Par exemple, un attaquant peut fournir un fichier YAML avec un "subPath" contenant "$(Start-Process cmd)". Lors de la validation du chemin, kubelet enverra cette commande à PowerShell, où elle sera exécutée avec les privilèges du service kubelet, en particulier le niveau SYSTEM.
Extension du champ d'application de CVE-2023-3676
La vulnérabilité qui sous-tend ce débat, CVE-2023-3676a été résolue dans Kubernetes 1.28. L'évaluation de la vulnérabilité de évaluation de la vulnérabilité de Kubernetesa toutefois permis de révéler deux autres vulnérabilités liées à l'injection de commandes : CVE-2023-3955 et CVE-2023-3893. Bien que ces faiblesses affectent principalement Kubernetes sur Windows dans sa configuration par défaut, il est important de se rappeler que Kubernetes n'est pas un système de sécurité.
configuration par défaut, il est important de se rappeler que les attaquants doivent toujours obtenir des privilèges d'application sur un nœud.
Prévention des exploits dans Kubernetes
Pour remédier à ces vulnérabilités, des mesures proactives sont nécessaires. Les DevSecOps pour Kubernetes a choisi de remédier à cette catégorie de failles en remplaçant les paramètres basés sur les entrées utilisateur par des variables d'environnement. Ce changement garantit que les paramètres ne sont traités que comme des chaînes de caractères, ce qui les empêche d'être évalués en tant qu'expressions PowerShell.
Dans le contexte de gestion des correctifs KubernetesLes administrateurs de Kubernetes ont des options si les mises à jour immédiates de la version corrigée ne sont pas possibles. Ils peuvent arrêter l'utilisation de "Volume.Subpath", mais cela aura un impact sur une caractéristique et une fonctionnalité régulièrement utilisées. Une autre option consiste à utiliser l'Open Policy Agent (OPA), un agent open-source capable d'exécuter des activités basées sur des règles. Les administrateurs peuvent écrire des règles dans le langage Rego d'OPA pour empêcher l'exécution de fichiers YAML spécifiques. L'analyse d'images de conteneurs peut également être utilisée pour identifier les vulnérabilités.
En outre, le contrôle d'accès basé sur les rôles (RBAC) devrait être utilisé pour limiter le nombre d'utilisateurs autorisés à mener des opérations au sein d'un cluster Kubernetes. Cette stratégie globale améliore la sécurité tout en réduisant les voies d'attaque potentielles.
Conclusion
Vigilance et mesures de sécurité proactives sont essentielles dans le monde Kubernetes. Alors que les CVE dans Kubernetes (CVE-2023-3676, CVE-2023-3893 et CVE-2023-3955) affectent principalement les terminaux Windows au sein d'un cluster Kubernetes, les ramifications sont étendues. Les clusters Kubernetes étant interconnectés, la compromission d'un seul nœud, même s'il fonctionne sous Windows, peut avoir des répercussions sur la configuration et la sécurité de l'ensemble du cluster.
Alors que nous naviguons dans le monde complexe de Kubernetes et de ses failles, il devient évident que les meilleures pratiques Kubernetes sont essentielles, quelles que soient les plateformes concernées. Il ne suffit pas de défendre un nœud dans un paysage numérique en constante évolution ; il est également nécessaire de préserver la sécurité du cluster Kubernetes.
Les sources de cet article comprennent des articles dans The Hacker News et CSO.