Une personne malveillante peut prendre le contrôle d’un système sur lequel est installé Docker en employant un subterfuge pour convaincre son utilisateur de lancer un conteneur pirate, puis en lançant une commande de copie « cp ».

Ce qui est dû à une vulnérabilité critique de Docker version 19.03.

Quand on utilise la commande cp dans un conteneur pour copier des fichiers dans une destination hors du conteneur, un processus nommé docker-tar est lancé sur le système hôte, et dans un chroot (un processus linux dont le répertoire racine a été changé) dans le conteneur.

Or ce dernier processus charge des librairies partagées du conteneur, au lieu de les charger à partir de l’hôte. Il est donc possible d’injecter du code malveillant dans un conteneur paradant comme l’une des librairies partagées, et ce dernier sera automatiquement lancé avec l’accès root sur l’hôte – l’accès le plus privilégié.

Ce bogue est corrigé dans la version 19.03.01 de Docker : ce dernier exploite exclusivement ses propres versions des librairies partagées nécessaires, et non celles d’un conteneur.

Notons qu’il serait très compliqué d’installer un conteneur malveillant à distance, ce qui réduit d’autant le risque des systèmes qui n’ont pas encore été mis à jour.

La vulnérabilité, référence CVE CVE-2019-14271, n’est pas encore recensée par CERT-FR.