runc

Une nouvelle vulnérabilité dans RunC

Une vulnérabilité sérieuse a été découverte dans runC.  RunC constitue la brique de base des systèmes de conteneurisation et permet de lancer et d’exécuter des conteneurs. RunC est utilisé par les systèmes de conteneurisation les plus courants comme Docker ou Kubernetes. Cette faille permet aux hackers d’échapper au conteneur Linux et d’obtenir un accès root sur le système de la victime.

La vulnérabilité, nom de code CVE-2019-5736, a été découverte par des chercheurs en sécurité open source, Adam Iwaniuk et Borys Popławski. Elle a été divulgué publiquement par Aleksa Sarai, une ingénieure logiciel travaillant sur runC chez SUSE Linux GmbH.

runC est un outil de ligne de commande très léger utiliser pour créer et exécuter des conteneurs. C’est une méthode de virtualisation qui s’effectue au niveau du système d’exploitation et qui permet d’exécuter plusieurs systèmes isolés sur un hôte utilisant un seul kernel.

Initialement créé par Docker, runC est le runtime conteneur par défaut pour for Docker, Kubernetes, ContainerD, CRI-O et bien d’autres programmes qui dépendent des conteneurs. Il est très utilisé par les hébergeurs internet.

Vulnérabilité runC [CVE-2019-5736]

Les chercheurs n’ont pas encore partagé de rapport détaillé concernant la faille car elle n’a pas encore été patché. Cependant selon Red Hat « la faille a été trouvé dans la manière utilisée par runC pour manipuler les descripteurs du système de fichier quand les conteneurs s’exécutent. »

Un conteneur malveillant ou une personne malveillante ayant un accès root vers un conteneur pourrait exploiter cette faille pour obtenir des permissions d’admin sur l’hôte exécutant le conteneur. Ceci provoquerait aussi la compromission de centaines ou même de milliers d’autres conteneurs s’exécutant sur la même machine.

Pour un accès root au conteneur, le hacker doit:

  • créer un nouveau conteneur en utilisant une image contrôlé par lui même ou attacher un exécutable docker à un conteneur existant sur lequel il a un accès d’écriture

Quelle est la gravité de cette vulnérabilité?

Scott McCarty, chef de produit pour les conteneurs chez Red Hat, a déclaré, « Il n’a pas beaucoup d’incidents qui pourrait être qualifié de scénario doomsday dans l’informatique d’entreprise mais c’est le cas quand un ensemble en cascade d’exploits affecte un grand nombre de systèmes interconnecté… c’est cela que cette vulnérabilité représente. »

Faille runC: Patch de Sécurité, Mises à Jour et Mitigation

Selon Red Hat, la vulnérabilité pet être mitigé si SELinux en mode application ciblée est activé, il l’est par défaut sur RedHat Enterprise Linux, CentOS et Fedora.

Les mainteneurs de runC ont publié un git commit pour résoudre la faille de sécurité, mais tout les projets utilisant runC doivent incorporé les patchs dans leurs produits.

Debian et Ubuntu ont pris connaissance de la vulnérabilité. Le problème affecte aussi les systèmes de conteneur utilisant LXC, un outil Linux plus vieux que Docker, et Apache Mesos.

Les hébergeurs internet ont aussi installé des patchs de sécurité( GoogleAmazonDocker, et Kubernetes).

Rancher, le créateur de Kubernetes, a aussi publié un patch pour les versions legacy de Docker.

Laisser un commentaire