Une vulnérabilité critique affectant RunC a été révélée aujourd’hui. 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.
Pour rappel, la conteneurisation est une technique de virtualisation légère permettant de lancer des “conteneurs” isolés entre eux qui peuvent s’apparenter à des machines réelles. La sécurité de ces conteneurs peut être gérée finement depuis l’hôte. Un conteneur est généralement plus léger et plus rapide à l’exécution qu’une machine réelle. Pour cette raison, ces systèmes sont très massivement utilisés, notamment dans le Cloud.
Techniquement, en créant un conteneur malicieux un attaquant est en mesure d’exploiter une mauvaise gestion des descripteurs de fichiers et de réécrire arbitrairement le binaire de RunC. Cela permet de récupérer un contrôle total (administrateur) sur la machine et sur les autres conteneurs éventuellement exécutés sur celle-ci.
D’après Scott McCarty, Product Manager chez Red Hat, “Si peu de scénarios pourraient engendrer une apocalypse pour une entreprise de l’IT, une cascade d’attaques affectant un large éventail de systèmes de production interconnectés en fait clairement partie… Et c’est exactement ce que représente cette vulnérabilité”.
Si la plupart des systèmes Linux sont vulnérables à cette faille, les distributions ayant SELinux activé (enforcé) mitigent cette faille. C’est notamment le cas de Red Hat ou Fedora. Au contraire, des distributions comme Debian ou Ubuntu ont publiquement annoncé être vulnérables à cette faille critique.
Si vous utilisez des conteneurs en production, vous êtes probablement vulnérable à cette attaque, il est important de mettre à jour votre logiciel de conteneurisation dès qu’un patch sortira pour le vôtre.
Source : Red Hat