Trois failles de sécurité de haute gravité non corrigées ont été divulguées dans le Contrôleur d’entrée NGINX pour Kubernetes qui pourrait être utilisé par un acteur menaçant pour voler les informations d’identification secrètes du cluster.
Les vulnérabilités sont les suivantes –
- CVE-2022-4886 (score CVSS : 8,8) – Entrée-nginx la désinfection du chemin peut être contournée pour obtenir les informations d’identification du contrôleur ingress-nginx
- CVE-2023-5043 (score CVSS : 7,6) – L’injection d’annotations Ingress-nginx provoque l’exécution de commandes arbitraires
- CVE-2023-5044 (score CVSS : 7,6) – Injection de code via l’annotation nginx.ingress.kubernetes.io/permanent-redirect
« Ces vulnérabilités permettent à un attaquant qui peut contrôler la configuration de l’objet Ingress de voler les informations d’identification secrètes du cluster », Ben Hirschberg, CTO et co-fondateur de la plateforme de sécurité Kubernetes ARMO, dit de CVE-2023-5043 et CVE-2023-5044.
Une exploitation réussie de ces failles pourrait permettre à un adversaire d’injecter du code arbitraire dans le processus du contrôleur d’entrée et d’obtenir un accès non autorisé à des données sensibles.
CVE-2022-4886, résultat d’un manque de validation dans le « spec.rules[].http.chemins[].path », permet à un attaquant ayant accès à l’objet Ingress de siphonner les informations d’identification de l’API Kubernetes du contrôleur d’entrée.
« Dans le Objet d’entrée« , l’opérateur peut définir quel chemin HTTP entrant est acheminé vers quel chemin interne », a noté Hirschberg. « L’application vulnérable ne vérifie pas correctement la validité du chemin interne et peut pointer vers le fichier interne qui contient le jeton de compte de service qui est les informations d’identification du client pour l’authentification auprès du serveur API. »
En l’absence de correctifs, les responsables du logiciel ont publié des mesures d’atténuation qui impliquent d’activer l’option « strict-validate-path-type » et de définir l’indicateur –enable-annotation-validation pour empêcher la création d’objets Ingress avec des caractères non valides et imposer des restrictions supplémentaires.
ARMO a déclaré que la mise à jour de NGINX vers la version 1.19, ainsi que l’ajout de la configuration de ligne de commande « –enable-annotation-validation », résout CVE-2023-5043 et CVE-2023-5044.
« Bien qu’elles pointent dans des directions différentes, toutes ces vulnérabilités pointent vers le même problème sous-jacent », a déclaré Hirschberg.
« Le fait que les contrôleurs d’entrée aient accès aux secrets TLS et à l’API Kubernetes, de par leur conception, en fait des charges de travail avec une portée de privilèges élevée. De plus, comme il s’agit souvent de composants publics accessibles sur Internet, ils sont très vulnérables au trafic externe entrant dans le cluster par leur intermédiaire. »