Vulnérabilité use-api-socket de Docker Desktop : risques majeurs

Partager
Vulnérabilité use-api-socket de Docker Desktop : risques majeurs

Analyse technique

Contexte fonctionnel

Docker Desktop facilite la vie des développeurs en permettant d'exécuter et tester des applications dans des conteneurs sur un poste de travail. Les extensions enrichissent cette plateforme en ajoutant des fonctionnalités opérationnelles ou d'intégration. Certaines extensions demandent un accès à la socket de l'API Docker (use-api-socket) pour interagir directement avec le moteur Docker et automatiser des tâches. Quand cet accès est mal contrôlé, il devient une porte d'entrée vers l'hôte et les ressources sensibles du poste de développement, comme l'ont documenté des alertes publiques sur ce type d'exposition¹.

Mécanisme d'attaque

Le vecteur typique observé suit trois étapes simples et concrètes :

  • Une extension malveillante ou compromise est installée sur le poste de travail (via un store, un package interne, ou une compromission de la chaîne CI).
  • L'extension utilise la socket de l'API Docker pour exécuter des commandes contre le moteur Docker. Cet accès permet de lancer des conteneurs, exécuter des commandes dans des conteneurs existants, monter des volumes, ou copier des fichiers entre l'hôte et un conteneur. L'utilisation de la socket par des extensions est décrite techniquement dans la documentation officielle de Docker².
  • Avec ces capacités, l'attaquant peut lire des fichiers sur l'hôte, écrire des scripts persistants, ou exfiltrer des secrets montés dans des volumes.

Autrement dit, l'accès à la socket revient souvent à donner à un composant la capacité d'opérer au même niveau qu'un administrateur Docker local, si les contrôles complémentaires font défaut.

Scénarios concrets

  • Lecture de fichiers sensibles

Une extension compromise peut lister et lire des chemins montés ou accessibles depuis des conteneurs. Des clefs SSH, des fichiers de configuration contenant des tokens, ou des fichiers de projet peuvent ainsi être copiés hors du poste.

  • Écriture et persistance

L'attaquant peut déposer des scripts, installer des outils de persistance, ou modifier des environnements de build. Ces modifications compliquent la remédiation et peuvent infecter des artefacts produits par le poste compromise.

  • Escalade via conteneurs privilégiés

Si des conteneurs sont lancés avec des privilèges élevés ou des mounts sensibles (par exemple /var/run/docker.sock monté dans un conteneur), l'attaquant peut pivoter vers l'hôte ou attaquer d'autres machines du réseau interne.

Limitations techniques et conditions nécessaires

Plusieurs facteurs réduisent l'impact potentiel d'une telle compromission :

  • L'extension doit obtenir les permissions nécessaires au moment de l'installation. Les manifests et le processus d'installation constituent un point de contrôle.
  • Des protections locales (antivirus, EDR) peuvent détecter un comportement suspect et interrompre l'activité.
  • Des configurations hardenées, comme des filesystems en lecture seule ou des politiques de montage strictes, limitent les opérations réalisables depuis un conteneur.

Ces freins ne rendent pas l'attaque impossible, mais ils complexifient son exécution et sa furtivité.

Détection technique

Pour repérer des abus de la socket API, combinez plusieurs sources de signal :

  • Audits des connexions à la socket Docker et journalisation des appels API. Sur un poste Linux, le suivi des accès à /var/run/docker.sock aide à détecter des clients inattendus.
  • Analyse des logs Docker et des logs système pour repérer des créations de conteneurs inhabituelles, des commandes exec fréquentes, ou des transferts de fichiers non planifiés.
  • Vérification d'intégrité des manifests et des binaires d'extensions installées : comparer les signatures et hash des packages avec celles attendues.

Lcorrelation de ces éléments via un SIEM ou une solution d'EDR améliore la détection rapide d'exfiltration ou d'escalade.

Impacts business

Atteinte à la confidentialité et exfiltration

La perte de credentials, tokens ou clés privées peut avoir un impact financier et opérationnel important. Le coût moyen d'une violation de données figure dans des rapports de référence sur la sécurité et doit être pris en compte lors de l'évaluation du risque³. Au-delà du montant direct des remédiations, la divulgation de secrets peut permettre à un attaquant d'accéder à des environnements cloud ou de production.

Intégrité des systèmes et persistance

Modifier des artefacts build ou introduire des backdoors dans les environnements de développement complexifie la reprise d'activité. Une contamination des pipelines de CI/CD peut propager des composants malveillants jusqu'à la production, augmentant les coûts et la durée de rétablissement.

Risque supply chain

Illustration cybersécurité

Si une extension compromise est distribuée via un store officiel ou via des images partagées, l'impact peut devenir massif : des milliers de postes peuvent être touchés rapidement. La nature interconnectée des environnements de développement augmente le risque d'effet domino lorsque les dépendances sont communes.

Exposition réglementaire

La compromission de données personnelles entraîne des obligations légales et des risques d'amendes, notamment sous le régime du RGPD. Les organisations doivent donc documenter les mesures prises pour limiter les risques et les incidents liés aux secrets et accès non autorisés.

Recommandations

Court terme - actions immédiates

  • Auditer les extensions installées, supprimer celles dont l'origine ou les permissions sont douteuses.
  • Restreindre les permissions use-api-socket aux extensions strictement nécessaires. Revoir les manifests d'installation et exiger une justification commerciale pour l'accès.
  • Déployer des alertes sur les accès à la socket Docker et sur la création inattendue de conteneurs depuis postes de développement.

Moyen terme - durcissement de plateforme

  • Segmenter les postes : séparer les environnements de développement accessibles au grand public de ceux qui manipulent des secrets ou déploient en production.
  • Appliquer le principe du moindre privilège pour Docker et pour les comptes utilisateurs. Éviter de lancer Docker avec des droits excessifs sur les postes de travail.
  • Mettre en place un processus de validation et de revue pour tout catalogue d'extensions internes ou publié vers les utilisateurs.

Long terme - gouvernance et monitoring

  • Intégrer Docker Desktop et ses extensions dans l'inventaire des actifs et dans les processus de gestion des mises à jour.
  • Corréler la journalisation Docker avec un SIEM pour détecter rapidement des patterns d'exploitation.
  • Former les équipes dev et IT à la gestion des secrets : utiliser des vaults centralisés et interdire le stockage de tokens dans des fichiers de configuration non chiffrés.

Checklist technique rapide

  • Dresser l'inventaire des extensions et retirer celles aux permissions non justifiées.
  • Configurer des alertes sur les accès à la socket Docker.
  • Exiger la signature et la revue des extensions avant déploiement.
  • Segmenter les postes avec accès à données sensibles.
  • Maintenir Docker Desktop et ses composants à jour dès qu'un correctif est disponible.

Prendre ces mesures rapidement et coordonner l'action entre sécurité, IT et développement réduit sensiblement le risque d'exploitation et protège les actifs critiques.


Questions fréquentes

Comment vérifier si une extension utilise use-api-socket sur mon poste ?

Consultez le manifeste de l'extension dans le répertoire d'installation ou le catalogue local : les permissions requises y sont listées. Complétez cette vérification en surveillant les processus qui ouvrent /var/run/docker.sock (ou la named pipe Windows) pour confirmer l'utilisation effective.

Une mise à jour de Docker Desktop suffit-elle à protéger contre ce risque ?

Les mises à jour corrigent des vulnérabilités et peuvent renforcer des contrôles, mais ne remplacent pas un audit des extensions, la révocation des permissions inutiles et la surveillance active. Traitez les mises à jour comme une couche parmi d'autres.

Désactiver Docker Desktop empêche-t-il toute exposition ?

Désinstaller ou désactiver Docker Desktop supprime la surface d'attaque liée à la socket locale. Pour les environnements qui nécessitent Docker, préférez des postes dédiés et contrôlés plutôt que l'exécution sur postes personnels.

Quels logs consulter pour détecter une exploitation potentielle ?

Vérifiez les logs de Docker Desktop et des extensions, les logs système qui montrent l'accès à la socket, et corrélez ces événements avec votre SIEM. Recherchez des créations de conteneurs inattendues, des appels exec et des transferts de fichiers anormaux.

Que faire si une extension malveillante est détectée dans mon parc ?

Isoler la machine affectée, collecter les logs pour investigation forensique, retirer l'extension, réinitialiser les secrets susceptibles d'avoir été exposés (tokens, clés), et lancer une revue d'impact pour établir l'étendue de la compromission.

Sources

Lire la suite