Une vulnérabilité de sécurité récemment révélée dans le moteur de conteneur Kubernetes CRI-O appelée cr8escape pourrait être exploitée par un attaquant pour sortir des conteneurs et obtenir un accès root à l’hôte.

« L’invocation de CVE-2022-0811 peut permettre à un attaquant d’effectuer diverses actions sur des objectifs, y compris l’exécution de logiciels malveillants, l’exfiltration de données et le mouvement latéral entre les pods », ont déclaré les chercheurs de CrowdStrike John Walker et Manoj Ahuje dans une analyse publiée ce semaine.

Une alternative légère à Docker, CRI-O est une implémentation d’exécution de conteneur de l’interface d’exécution de conteneur Kubernetes (CRI) qui est utilisée pour extraire des images de conteneur à partir de registres et lancer un environnement d’exécution compatible Open Container Initiative (OCI) tel que runC pour générer et exécuter processus de conteneur.

La vulnérabilité est notée 8,8 sur le système de notation des vulnérabilités CVSS et affecte les versions 1.19 et ultérieures de CRI-O. Suite à une divulgation responsable, des correctifs ont été publiés pour corriger les failles de la version 1.23.2 livrée le 15 mars 2022.

CVE-2022-0811 découle d’un changement de code introduit dans la version 1.19 ​​pour définir les options du noyau pour un pod, entraînant un scénario dans lequel un acteur malveillant disposant des autorisations nécessaires pour déployer un pod sur un cluster Kubernetes à l’aide du runtime CRI-O peut tirer parti du paramètre « kernel.core_pattern » pour obtenir l’échappement du conteneur et l’exécution de code arbitraire en tant que root sur n’importe quel nœud du cluster.

Le paramètre « kernel.core_pattern » est utilisé pour spécifier un nom de modèle pour un vidage de mémoire, qui est un fichier contenant l’instantané de la mémoire d’un programme à un moment précis qui est généralement activé en réponse à des plantages inattendus ou lorsque le processus se termine anormalement.

‘Si le premier caractère du motif est un ‘|’ [un tube], le noyau traitera le reste du modèle comme une commande à exécuter. Le vidage de mémoire sera écrit sur l’entrée standard de ce programme au lieu d’un fichier », lit-on dans la documentation du noyau Linux.

Par conséquent, en définissant cette option pour pointer vers un script shell malveillant et en déclenchant un vidage mémoire, la vulnérabilité conduit à l’invocation du script, réalisant ainsi l’exécution de code à distance et permettant à l’adversaire de prendre le contrôle du nœud.

« Kubernetes n’est pas nécessaire pour invoquer CVE-2022-8011 », ont souligné les chercheurs. « Un attaquant sur une machine sur laquelle CRI-O est installé peut l’utiliser pour définir lui-même les paramètres du noyau. »

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *