Microsoft corrige un bug permettant aux pirates de s’emparer des conteneurs Azure

0

Microsoft a corrigé une vulnérabilité dans Azure Container Instances appelée Azurescape qui permettait à un conteneur malveillant de prendre le contrôle de conteneurs appartenant à d’autres clients sur la plate-forme.

Un pirate exploitant Azurescape pourrait exécuter des commandes dans les conteneurs des autres utilisateurs et accéder à toutes leurs données déployées sur la plate-forme, selon les chercheurs.

Les données des clients sont à risque

Microsoft a informé les clients potentiellement concernés par Azurescape de modifier les informations d’identification privilégiées pour les conteneurs déployés sur la plate-forme avant le 31 août.

La société affirme avoir envoyé les alertes par prudence, car elle n’a trouvé aucune indication d’une attaque tirant parti de la vulnérabilité pour accéder aux données des clients.

« Si vous n’avez pas reçu de notification d’état de service, aucune action n’est requise. La vulnérabilité est corrigée et notre enquête n’a révélé aucun accès non autorisé dans d’autres clusters » – Microsoft

Azure Container Instances (ACI) de Microsoft est un service basé sur le cloud qui permet aux entreprises de déployer des applications packagées (conteneurs) sur le cloud.

Pour ceux qui ne connaissent pas les conteneurs, ils disposent de tous les exécutables, dépendances et fichiers nécessaires pour exécuter une application particulière, mais sont stockés dans un seul package pour une distribution et un déploiement faciles.

Lorsque les conteneurs sont déployés, ACI les isole des autres conteneurs en cours d’exécution pour les empêcher de partager de l’espace mémoire et d’interagir les uns avec les autres.

Microsoft Azure
Isolation des conteneurs – source : Palo Alto Networks

La faute à un code obsolète

Des chercheurs de Palo Alto Networks ont trouvé et signalé Azurescape à Microsoft. Dans un rapport publié récemment, Yuval Avrahami de la société fournit des détails techniques sur la vulnérabilité, notant qu’elle « a permis à des utilisateurs malveillants de compromettre les clusters Kubernetes mutualisés hébergeant ACI ».

Avrahami affirme que la découverte du problème a commencé lorsqu’on a découvert qu’ACI utilisait du code publié il y a près de cinq ans, qui était vulnérable aux bogues d’échappement de conteneurs.

azure conteneur
Runtime de conteneur obsolète utilisé dans ACI – source: Palo Alto Networks

« RunC v1.0.0-rc2 a été publié le 1er octobre 2016 et était vulnérable à au moins deux CVE de rupture de conteneur. En 2019, nous avons analysé l’une de ces vulnérabilités, CVE-2019-5736 », explique le chercheur.

L’exploitation de CVE-2019-5736 était suffisante pour sortir du conteneur et obtenir l’exécution de code avec des privilèges élevés sur l’hôte sous-jacent, un nœud Kubernetes.

Le chercheur a résumé les prochaines étapes pour obtenir un accès non autorisé à d’autres conteneurs comme suit:

  • Sur le nœud, surveillez le trafic sur le port Kubelet, le port 10250, et attendez une demande qui inclut un jeton JWT dans l’en-tête Authorization
  • Exécutez az container exec pour exécuter une commande sur le conteneur téléchargé. Le pod de pont enverra maintenant une demande d’exécution au Kubelet sur le nœud compromis
  • Sur le nœud, extrayez le jeton de pont de l’en-tête d’autorisation de la demande et utilisez-le pour ouvrir un shell sur le serveur d’API.

Pour démontrer l’attaque, Palo Alto Networks a publié une vidéo montrant comment un attaquant aurait pu sortir de son conteneur pour obtenir des privilèges d’administrateur pour l’ensemble du cluster.

Laisser un commentaire