Kubernetes a rencontré sa première vulnérabilité critique. Découverte par Darren Shepherd, co-fondateur et architecte principal de Rancher Labs, la faille CVE-2018-1002105 touche le serveur API Kubernetes. Elle permet, d'après Jordan Liggitt (ingénieur senior chez Google), à un utilisateur malveillant d'utiliser l'API Kubernetes pour se connecter à un serveur principal afin d'envoyer des requêtes arbitraires authentifiées avec les informations de connexion TLS du serveur d’API Kubernetes utilisées pour établir la connexion backend. Avec ce gain de privilèges, n'importe quel utilisateur dispose ainsi de droits d'administration sur n'importe quel noeud de calcul exécuté dans un pod Kubernetes.
Les versions affectées par cette faille critiques sont les suivantes : v1.0.x-1.9.x, v1.10.0-1.10.10, v1.11.0 1.11.4 et v1.12.0-1.12.2. Des correctifs ont été apportés et les entreprises sont enjointes à les installer - ou à vérifier que leur prestataire les a bien implémentés -, il s'agit des releases v1.10.11, v1.11.5 et v1.12.3.
Une exploitation sous le radar dans les logs
Attention, car comme le précise Jordan Liggitt, vérifier que cette vulnérabilité a été exploitée est loin d'être évidente : « Il n'y a pas de moyen simple de détecter si cette vulnérabilité a été utilisée. Étant donné que les requêtes non autorisées sont effectuées via une connexion établie, elles n'apparaissent pas dans les journaux d'audit du serveur API Kubernetes ni dans le journal du serveur. Les demandes apparaissent dans les journaux du serveur d'API kubelet ou agrégé, mais ne peuvent pas être distinguées des demandes correctement autorisées et mandatées via le serveur d'API Kubernetes ».
Le meilleur moyen de se prémunir d'éventuelles exploitations est donc de patcher. Plusieurs fournisseurs ont d'ailleurs prévenu avoir fait le nécessaire comme AWS ou encore Red Hat pour ses produits et services OpenShift.