SicherheitsanfÀlligkeiten in ingress-nginx, die Cluster von Kubernetes gefÀhrden können

Im entwickelten Kubernetes Ingress-Controller ingress-nginx wurden drei SicherheitsanfĂ€lligkeiten identifiziert, die im Standardkonfigurationsmodus den Zugriff auf die Einstellungen des Ingress-Objekts ermöglichen, in denen unter anderem auch Anmeldedaten fĂŒr den Zugriff auf die Kubernetes-Server gespeichert sind, die privilegierten Zugriff auf den Cluster erlauben. Die Probleme treten nur im ingress-nginx Controller des Kubernetes-Projekts auf und betreffen nicht den kubernetes-ingress Controller, der von den Entwicklern von NGINX weiterentwickelt wird.

Der Ingress-Controller fungiert als Gateway und wird in Kubernetes verwendet, um den Zugriff aus dem externen Netzwerk auf die Dienste innerhalb des Clusters zu organisieren. Der Controller ingress-nginx ist der am weitesten verbreitete und verwendet Server NGINX zur Organisation des Datenverkehrs zum Cluster, zur Routing externer Anfragen und zur Lastverteilung. Das Kubernetes-Projekt bietet grundlegende Ingress-Controller fĂŒr AWS, GCE und nginx an, wobei letzterer nicht mit dem kubernetes-ingress Controller in Verbindung steht, dessen UnterstĂŒtzung von der Firma F5/NGINX ĂŒbernommen wird.

SicherheitsanfÀlligkeiten in ingress-nginx, die Cluster von Kubernetes gefÀhrden können

Die SicherheitsanfĂ€lligkeiten CVE-2023-5043 und CVE-2023-5044 ermöglichen das AusfĂŒhren eigenen Codes mit Server den Rechten des Ingress-Controllers, indem die Parameter „nginx.ingress.kubernetes.io/configuration-snippet“ und „nginx.ingress.kubernetes.io/permanent-redirect“ zur Ersetzung verwendet werden. Unter anderem erlauben die erlangten Berechtigungen das Extrahieren eines Tokens, das zur Authentifizierung auf der Verwaltungsebene des Clusters verwendet wird. Die SicherheitsanfĂ€lligkeit CVE-2022-4886 ermöglicht das Umgehen der PfadĂŒberprĂŒfung mithilfe der Direktive log_format.

Die ersten beiden SicherheitsanfĂ€lligkeiten treten nur in Versionen des ingress-nginx bis 1.9.0 auf, wĂ€hrend die letzte bis Version 1.8.0 auftritt. Um einen Angriff durchzufĂŒhren, muss der Angreifer Zugriff auf die Konfiguration des Ingress-Objekts haben, beispielsweise in Multi-User-Kubernetes-Clustern, in denen Benutzern die Möglichkeit eingerĂ€umt wird, Objekte in ihrem eigenen Namensraum zu erstellen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4