CVE-2020-15257
API de containerd-shim exposée aux conteneurs du réseau hôte
- Publié
- 1 déc. 2020
- Mise à jour
- 4 août 2024
- Attribution de CNA
- GitHub_M
- Preuve observée
- 8 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:NFaible · 30 prochains jours
- Percentile
- 87,7 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
containerd est un runtime de conteneurs standard de l'industrie et est disponible sous forme de démon pour Linux et Windows. Dans containerd avant les versions 1.3.9 et 1.4.3, l'API containerd-shim est incorrectement exposée aux conteneurs réseau de l'hôte. Les contrôles d'accès pour le socket de l'API du shim vérifiaient que le processus de connexion avait un UID effectif de 0, mais ne restreignaient pas autrement l'accès au socket de domaine Unix abstrait. Cela permettrait à des conteneurs malveillants s'exécutant dans le même espace de noms réseau que le shim, avec un UID effectif de 0 mais autrement des privilèges réduits, de provoquer l'exécution de nouveaux processus avec des privilèges élevés. Cette vulnérabilité a été corrigée dans containerd 1.3.9 et 1.4.3. Les utilisateurs doivent mettre à jour vers ces versions dès leur publication. Il convient de noter que les conteneurs démarrés avec une ancienne version de containerd-shim doivent être arrêtés et redémarrés, car les conteneurs en cours d'exécution resteront vulnérables même après une mise à niveau. Si vous ne fournissez pas la possibilité à des utilisateurs non fiables de démarrer des conteneurs dans le même espace de noms réseau que le shim (généralement l'espace de noms réseau « hôte », par exemple avec docker run --net=host ou hostNetwork: true dans un pod Kubernetes) et de s'exécuter avec un UID effectif de 0, vous n'êtes pas vulnérable à ce problème. Si vous exécutez des conteneurs avec une configuration vulnérable, vous pouvez refuser l'accès à tous les sockets abstraits avec AppArmor en ajoutant une ligne similaire à deny unix addr=@**, à votre politique. Il est de bonne pratique d'exécuter les conteneurs avec un ensemble réduit de privilèges, avec un UID non nul, et avec des espaces de noms isolés. Les mainteneurs de containerd déconseillent fortement le partage d'espaces de noms avec l'hôte. Réduire l'ensemble des mécanismes d'isolation utilisés pour un conteneur augmente nécessairement les privilèges de ce conteneur, quel que soit le runtime de conteneurs utilisé pour exécuter ce conteneur.
Sources
1Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.