Une faille dans ingress-nginx permet la prise de contrôle complète d’un cluster Kubernetes

Conteneurs d'un navire porte-conteneurs en train de couler

Les clusters Kubernetes utilisant ingress-nginx peuvent être compromis par des pirates informatiques. Une vulnérabilité récemment découverte dans ingress-nginx permet de prendre le contrôle d’un cluster sans nécessiter de droits d’administrateur.

Une nouvelle faille dangereuse permet aux attaquants de prendre le contrôle des clusters Kubernetes. La vulnérabilité se trouve dans ingress-nginx, un contrôleur d’entrée largement utilisé dans les environnements Kubernetes. Selon le Comité de Réponse de Sécurité de Kubernetes, cet outil est utilisé dans plus de 40 pour cent de tous les clusters Kubernetes.

De l’accès au Pod à la prise de contrôle

La combinaison de cinq vulnérabilités récemment corrigées permet à un attaquant d’injecter des commandes via le Contrôleur d’Admission de Validation. Pour ce faire, le pirate n’a besoin que d’un accès au réseau Pod. Ironiquement, la fonctionnalité exploitée est conçue pour avertir les utilisateurs des configurations erronées, mais s’avère dans ce cas être une porte d’entrée pour les attaques.

La vulnérabilité la plus grave (CVE-2025-1974) reçoit un score CVSS de 9,8, la classant comme critique. L’exploitation de cette vulnérabilité peut entraîner la fuite d’informations sensibles. Étant donné qu’ingress-nginx a par défaut accès aux Secrets Kubernetes dans l’ensemble du cluster, un attaquant peut utiliser cette faille pour prendre le contrôle complet d’un cluster.

Tabitha Sable du Comité de Réponse de Sécurité de Kubernetes décrit la situation comme suit : « Tout sur le réseau Pod a de bonnes chances de prendre le contrôle de votre cluster Kubernetes, sans nécessiter d’informations de connexion ou d’accès administrateur. »

Mises à jour ou atténuation temporaire

Les développeurs d’ingress-nginx ont publié deux nouvelles versions : v1.12.1 et v1.11.5. Les deux versions corrigent les cinq vulnérabilités, y compris CVE-2025-1974. Compte tenu de la gravité, il est fortement recommandé aux administrateurs d’appliquer ces mises à jour dès que possible.

Pour ceux qui ne peuvent pas mettre à jour immédiatement, il est possible de désactiver le Contrôleur d’Admission de Validation comme mesure temporaire. Cela peut être fait via Helm en définissant la valeur controller.admissionWebhooks.enabled=false lors de la réinstallation, ou manuellement en supprimant la ValidatingWebhookConfiguration ngress-nginx-admission. Il est également possible de modifier le ingress-nginx-controller deployment ou daemonset et de supprimer l’argument —validating-webhook.

Lorsqu’il est possible d’installer les mises à jour, il est recommandé de réactiver cette fonctionnalité, car elle aide les utilisateurs à détecter précocement les erreurs dans leurs configurations Ingress.

Les failles dans ingress-nginx sont graves et les conséquences de leur exploitation sont importantes. Selon les chercheurs de Wiz, qui ont découvert ces failles, au moins 6 500 clusters dans le monde sont vulnérables. Wiz a surnommé cette faille, avec un certain sens du drame, #IngressNightmare.