Conteneurs : une vulnérabilité dans CRI-O permet de remonter à l’hôte

Cette vulnérabilité affectant l’implémentation open source du moteur d’exécution de conteneurs de Kubernetes peut permettre à un attaquant de contourner les mesures de sécurité et prendre la main sur le système hôte.

Une vulnérabilité affectant la manière dont les systèmes Linux gèrent les conteneurs pourrait laisser la porte ouverte à des attaques avec prise de contrôle à distance.

Les chercheurs de CrowdStrike, qui ont découvert la faille, affirment que le moteur d’exécution de conteneurs CRI-O et le noyau Linux sont à l’origine de CVE-2022-0811, une vulnérabilité susceptible de permettre à un attaquant d’élever ses privilèges d’utilisateur local à administrateur. CRI-O est une implémentation open source de l’interface CRI (Container Runtime Interface) de Kubernetes. Déployer la dernière version de CRI-O empêchera l’exploitation de la vulnérabilité surnommée « Cr8escape ».

Les vulnérabilités dont l’exploitation permet d’élever ses privilèges ne sont généralement pas considérées comme à haut risque. Mais dans le contexte de conteneurs, une exploitation réussie permettrait à un attaquant de prendre le contrôle à distance des hôtes affectés et, potentiellement, de détourner les conteneurs avec du code malicieux.

« Il est possible pour un attaquant de mener une attaque de chaîne logistique en exploitant cette vulnérabilité. »
Sasan PadidarDirecteur principal ingénierie sécurité du cloud, Crowdstrike

Une telle approche pourrait être adoptée de manière silencieuse pour conduire une attaque de la chaîne logistique, où l’attaquant est capable de compromettre l’environnement d’un développeur et de pousser des mises à jour logicielles empoisonnées aux utilisateurs finaux et aux clients.

« Il est possible pour un attaquant de mener une attaque de chaîne logistique en exploitant cette vulnérabilité », a souligné à nos confrères de SearchSecurity Sasan Padidar, directeur principal de l’ingénierie de sécurité du cloud de CrowdStrike : « tout est géré par le code et ne nécessite pas l’accès à un hôte ».

Un exemple désormais incontournable de ce type d’attaque est celui de SolarWinds, révélée fin 2020 : des pirates soutenus par l’État russe ont pu compromettre le pipeline de mise à jour logicielle de l’éditeur de logiciels d’administration informatique pour pousser des logiciels malveillants sur des milliers de serveurs de clients.

La vulnérabilité CVE-2022-0811 elle-même concerne la manière dont les conteneurs CRI-O interagissent avec le noyau Linux avec, en particulier, un défaut de contrôle des privilèges : en exploitant cette vulnérabilité, « toute personne ayant les droits pour déployer un pod sur un cluster Kubernetes qui utilise le runtime CRI-O peut abuser du paramètre “kernel.core_pattern” pour réaliser un échappement de conteneur et une exécution de code arbitraire en tant que root sur n’importe quel nœud du cluster », ont écrit les chercheurs de CrowdStrike John Walker et Manoj Ahuje dans un billet de blog. Et « Kubernetes n’est pas nécessaire pour invoquer CVE-2022-8011 ».

Pour approfondir sur Gestion des vulnérabilités et des correctifs (patchs)

Close