Ingress-nginxin haavoittuvuudet, jotka mahdollistavat Kubernetes-klusterien vaarantumisen

Kubernetes-projektin kehittämässä ingress-nginx-ohjaimessa on tunnistettu kolme haavoittuvuutta, jotka sallivat oletuskokoonpanossa pääsyn Ingress-objektin asetuksiin. Ingress-objekti tallentaa muun muassa valtuustiedot Kubernetes-palvelimiin pääsyä varten, mikä mahdollistaa etuoikeutetun pääsyn. klusteriin. Ongelmat näkyvät vain Kubernetes-projektin ingress-nginx-ohjaimessa, eivätkä ne vaikuta NGINX-kehittäjien kehittämään kubernetes-ingress-ohjaimeen.

Sisääntuloohjain toimii yhdyskäytävänä, ja sitä käytetään Kubernetesissä järjestämään pääsy ulkoisesta verkosta klusterin palveluihin. Ingress-nginx-ohjain on suosituin ja käyttää NGINX-palvelinta pyyntöjen välittämiseen klusteriin, ulkoisten pyyntöjen reitittämiseen ja kuormituksen tasapainottamiseen. Kubernetes-projekti tarjoaa ydinsisääntuloohjaimet AWS:lle, GCE:lle ja nginxille, joista jälkimmäinen ei liity mitenkään F5/NGINX:n ylläpitämään kubernetes-sisääntuloohjaimeen.

Ingress-nginxin haavoittuvuudet, jotka mahdollistavat Kubernetes-klusterien vaarantumisen

Haavoittuvuuksien CVE-2023-5043 ja CVE-2023-5044 avulla voit suorittaa koodisi palvelimella sisääntuloohjainprosessin oikeuksilla käyttämällä "nginx.ingress.kubernetes.io/configuration-snippet" ja "nginx.ingress" .kubernetes"-parametreja korvatakseen sen .io/permanent-redirect." Saatujen käyttöoikeuksien avulla voit muun muassa noutaa klusterin hallintatason todennukseen käytetyn tunnuksen. Haavoittuvuuden CVE-2022-4886 avulla voit ohittaa tiedostopolun tarkistuksen log_format-komennolla.

Kaksi ensimmäistä haavoittuvuutta esiintyvät vain versiota 1.9.0 edeltävissä ingress-nginx-julkaisuissa ja viimeinen - ennen versiota 1.8.0. Hyökkäyksen suorittamiseksi hyökkääjällä on oltava pääsy sisääntuloobjektin määrityksiin, esimerkiksi usean vuokralaisen Kubernetes-klustereissa, joissa käyttäjille annetaan mahdollisuus luoda objekteja nimiavaruuteensa.

Lähde: opennet.ru

Lisää kommentti