La plateforme de conteneurisation open source Docker a exhorté les utilisateurs à corriger une vulnérabilité critique affectant certaines versions de Docker Engine qui permet une escalade des privilèges à l'aide de requêtes API spécialement élaborées. Répertoriée en tant que CVE-2024-41110, celle-ci a été découverte pour la première fois en 2018 et s'est vu attribuer un score CVSS de 10/10. Bien que la faille ait été corrigée par Docker peu de temps après, les versions ultérieures n'ont cependant pas reçu le correctif, selon un avis de sécurité du fournisseur. « En 2018, un problème de sécurité a été découvert où un attaquant pouvait contourner les plugins d'autorisation (AuthZ) », a indiqué Gabriela Georgia de Docker dans un billet de blog. « Bien que ce problème ait été corrigé dans Docker Engine v18.09.1 en janvier 2019, le correctif n'a pas été reporté sur les versions ultérieures, ce qui a entraîné une régression. » Toute personne dépendant des plugins AuthZ pour traiter les demandes d'accès et les réponses est potentiellement impactée, a ajouté Docker dans son bulletin de sécurité.
Selon le modèle d'autorisation par défaut de Docker, les utilisateurs ayant accès au daemon Docker peuvent exécuter n'importe quelle commande, a expliqué Gabriela Georgia. AuthZ peut ainsi être utilisé pour exercer un contrôle d'accès granulaire basé sur l'authentification et le contexte de la commande. Dans certaines circonstances, AuthZ peut être manipulé pour approuver des requêtes non autorisées en utilisant des requêtes API spécialement conçues. « Un attaquant pourrait exploiter un contournement en utilisant une requête API avec Content-Length fixé à 0, ce qui amènerait le daemon Docker à la transmettre au plugin AuthZ, qui pourrait approuver la requête de manière incorrecte », a déclaré Docker dans son bulletin de sécurité. Le plugin AuthZ aurait pu refuser la demande si le corps de la requête lui avait été transmis ce qui n'était pas le cas, a ajouté la société.
Un faible niveau d'exploit selon Docker
La vulnérabilité a été initialement corrigée dans une mise à jour de janvier 2019, dans Docker Engine v18.09.1. Cependant, les déploiements ultérieurs, y compris la v19.03 et les plus récentes, n'ont pas inclus le correctif, ce qui a entraîné une régression. « Cela a été identifié en avril 2024 et des correctifs ont été publiés pour les versions concernées le 23 juillet 2024 », a ajouté la société. « Le problème a été classé CVE-2024-41110. Bien que les systèmes soient restés vulnérables longtemps après l'application du correctif initial, Docker a assuré que l'exploitabilité du bogue restait faible. « La probabilité d'exploitation est faible », a ajouté Gabriela Georgia. Docker a néanmoins conseillé aux utilisateurs d'appliquer les correctifs disponibles dès maintenant, notamment parce que le problème a obtenu un score « faible » dans les évaluations de base CVSS pour la « complexité de l'attaque » et les « privilèges requis ». Les mesures correctives pour les versions affectées comprennent la mise à jour vers la version la plus récente et (si la mise à jour n'est pas possible) éviter l'utilisation des plugins AuthZ et restreindre l'accès à l'API Docker à des parties de confiance uniquement.
A noter que les utilisateurs de Docker Engine v19.03.x et des versions ultérieures qui ne s'appuient pas sur les plugins d'autorisation pour prendre des décisions de contrôle d'accès ainsi que les utilisateurs de toutes les versions de Mirantis Container Runtime ne sont pas touchés par ce trou de sécurité. Ceux des produits commerciaux et de l'infrastructure interne de Docker qui ne s'appuient pas sur les plugins AuthZ également.