Podatność w F5 NGINX Ingress Controller pozwala uwierzytelnionemu, zdalnemu atakującemu na wywołanie trwałego crashu procesu kontrolnego (control plane) poprzez podstawienie złośliwego zasobu Ingress lub TransportServer. Jest to podatność klasy DoS (denial-of-service), która może całkowicie unieruchomić zarządzanie ruchem w klastrze Kubernetes.
▸ Pokaż oryginał (EN)
When NGINX Ingress Controller processes Ingress or TransportServer resources, an authenticated, remote attacker with permission to create or modify Ingress or TransportServer resources can cause the NGINX Ingress Controller process to terminate. Impact: The NGINX Ingress Controller control plane process terminates and enters a persistent crash loop while the malformed Ingress or TransportServer resource remains in the cluster. This vulnerability allows a remote, authenticated attacker with at least Ingress or TransportServer resource write access to cause a denial-of-service (DoS) on the NGINX Ingress Controller system. There is no data plane exposure; this is a control plane issue only. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
Podczas przetwarzania zasobów Ingress lub TransportServer kontroler NGINX Ingress nie zabezpiecza się przed dereferencją wskaźnika NULL (CWE-476). Atakujący posiadający uprawnienia do tworzenia lub modyfikowania zasobów Ingress bądź TransportServer może umieścić w klastrze odpowiednio spreparowany zasób. Jego przetworzenie powoduje natychmiastowe zakończenie procesu NGINX Ingress Controller, który następnie wchodzi w trwałą pętlę restartu (crash loop), dopóki złośliwy zasób pozostaje w klastrze.
Atakujący może doprowadzić do trwałego niedostępności płaszczyzny sterowania (control plane) NGINX Ingress Controller, co uniemożliwia zarządzanie regułami ruchu sieciowego. Płaszczyzna danych (data plane) nie jest bezpośrednio narażona, jednak utrata control plane może mieć poważne konsekwencje operacyjne.
Należy zastosować patche dostępne u producenta zgodnie z referencjami: https://my.f5.com/manage/s/article/K000161834. Dodatkowo należy zweryfikować i ograniczyć uprawnienia do tworzenia/modyfikowania zasobów Ingress i TransportServer wyłącznie do zaufanych użytkowników oraz usunąć ze wszystkich klastrów wszelkie podejrzane zasoby Ingress/TransportServer, które mogły zostać wprowadzone przez nieuprawnione podmioty.
F5 NGINX Ingress Controller – wersje wskazane w referencjach producenta (wersje objęte End of Technical Support nie są uwzględnione w ocenie).
Podatność dotyczy wyłącznie płaszczyzny sterowania (control plane) – brak ekspozycji na poziomie płaszczyzny danych (data plane). Wymagane jest posiadanie przez atakującego co najmniej uprawnień zapisu do zasobów Ingress lub TransportServer w klastrze.
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XF5 nginx Ingress Controller
APPF53.5.0 – 3.7.24.0.0 – 4.0.15.0.0 – 5.5.2 (bez)
Powiązane podatności
Heap buffer overflow w NGINX Plus i NGINX Open Source — DoS i możliwy RCE
Use-after-Free w module HTTP/3 QUIC NGINX — możliwość RCE
NGINX Plus/Open Source: heap buffer overflow w modułach HTTP/2 i gRPC
Heap buffer overflow w NGINX w module ngx_http_rewrite_module (RCE)
NGINX heap buffer overflow w module ngx_http_rewrite_module (RCE/restart)