Des chercheurs de l’entreprise de sécurité Cyera mettent en garde contre une vulnérabilité qui donne aux cybercriminels la possibilité de contourner les modules d’autorisation dans Docker Engine, le moteur de création de conteneur. Cette faille référencée CVE-2026-34040 affiche un score de gravité 8,8 (élevée) sur l'échelle CVSS. Selon les experts, elle a quasiment les mêmes caractéristiques qu’une autre faille corrigée en 2024. Par contre, le problème sous-jacent de la CVE-2026-34040 est connu depuis 2016.
Cette brèche a été corrigée dans Docker Engine 29.3.1 et Docker Desktop 4.66.1. Si les mises à jour ne peuvent pas être déployées immédiatement, les requêtes malveillantes peuvent éventuellement être filtrées en limitant la taille des requêtes à 512 Ko. « L'API Docker est accessible via le réseau (TCP/TLS) dans la plupart des déploiements d'entreprise, des systèmes CI/CD et des plateformes de gestion », ont déclaré les spécialistes dans un rapport. « Il s'agit d'une simple requête HTTP sans condition de concurrence ni dépendance temporelle. Si un attaquant (ou un agent IA) voit son accès à l'API Docker restreint par un plugin AuthZ, il peut le contourner. »
La faille AuthZ vieille de 10 ans
Par défaut, Docker Engine ne dispose pas d'un système d'autorisation basé sur les rôles (RBAC), ce qui signifie que tout utilisateur pouvant accéder à l'API Docker est en mesure d'exécuter toutes les commandes Docker. Pour mettre en place des contrôles plus précis, les entreprises ont recours à divers plug-ins Docker AuthZ tiers ou personnalisés, une fonctionnalité disponible dans Docker Engine depuis 2016. En 2018, des chercheurs ont découvert que des attaquants pouvaient contourner toutes les restrictions imposées par ces modules en envoyant au daemon Docker des requêtes dont le paramètre Content-Length était défini sur 0. Elles étaient transmise aux plug-ins AuthZ après avoir supprimé le corps de la requête. Il approuvaient ainsi automatiquement les demandes en pensant qu’elles ne contenaient aucune commande. Par contre Docker Engine exécutait les commandes présentes dans le corps de la requête qui avait été supprimé.
Le problème a été corrigé dans la version 18.09.1 de Docker Engine publiée en janvier 2019, mais le correctif n'a pas été inclus dans les versions ultérieures du moteur à partir de la version 19.03, ce qui a entraîné une régression et une nouvelle vulnérabilité référencée CVE-2024-41110. La faille a finalement été corrigée en juillet 2024 dans les versions 23.0.14, 26.1.4 et 27.1.0.
Les requêtes trop volumineuses jamais vérifiées
Alors que le contournement d’autorisation précédent était déclenché lorsque la valeur Content-Length de la requête était définie sur 0, personne ne vérifiait à l’époque ce qui se passerait dans la même fonction si la requête dépassait une certaine taille. « Lorsqu’un corps de requête API dépasse 1 Mo, le middleware de Docker supprime silencieusement ce corps avant que le plugin d’autorisation ne le détecte », ont découvert les experts de Cyera. « Le plugin, ne voyant rien à inspecter, approuve la requête. Le démon Docker traite alors l’intégralité du corps et crée le conteneur demandé, accordant potentiellement un accès complet au système de fichiers de l’hôte. » Donc, il s’agit essentiellement du même type de bug, avec la même cause profonde, sauf qu’il utilise un remplissage de requête de 1 Mo au lieu d'une longueur nulle. Comme le plugin AuthZ ne parvient pas à inspecter et à bloquer la requête, cela signifie que les attaquants pourraient avoir accès à toutes les commandes de Docker Engine, y compris la possibilité de créer des conteneurs privilégiés avec un accès root.
En général, les vulnérabilités Docker les plus graves sont celles qui permettent aux attaquants de travailler à l'intérieur des conteneurs, mais cette faille survient avant même que le conteneur ne soit créé. Par conséquent, aucun outil de surveillance au sein du conteneur ne détecterait la tentative d'exploitation. À titre de mesure d'atténuation temporaire, les administrateurs peuvent toutefois acheminer les requêtes API via un proxy inverse qui bloque toutes les requêtes supérieures à 512 Ko, par exemple. Les interfaces API Docker exposées sont constamment ciblées par les botnets et les attaquants pour détourner des instances cloud et des serveurs, d'autant plus que Docker est utilisé dans plus de 90 % des environnements d'entreprise à travers le monde. Cyera recommande d'analyser les journaux des démons à la recherche d'indices d'une exploitation potentielle à l'aide de la commande `journalctl -u docker | grep “Request body is larger than”`. Ils conseillent également de vérifier quels systèmes automatisés ont accès à l'API Docker et de donner la priorité aux hôtes ayant accès aux identifiants de production ou à des données réglementées pour l'application immédiate des correctifs.