Wszystkim administratorom zalecamy jak najszybszą aktualizację Kubernetes do wersji 1.13.10, 1.14.6 lub 1.15.3. W bibliotece języka Go wykorzystywanej przez orkiestratora znaleziono bowiem parę podatności wysokiego ryzyka, które mogą zostać wykorzystane do ataku DoS.
Luki CVE-2019-9512 oraz CVE-2019-9514 tkwią w bibliotece net/http języka Go, co czyni podatnymi wszystkie wersje i komponenty Kubernetes. W skali CVSS 3.0 zostały one sklasyfikowane przez zespół ds. bezpieczeństwa Kubernetes na 7.5 i określone jako pozwalające na nieautoryzowaną alokację nieograniczonej ilości pamięci aż do awaryjnego zatrzymania serwera.
CVE-2019-9512 pozwala atakującemu na nieustające pingowanie protokołu HTTP/2. W zależności od sposobu kolejkowania pingów możliwe jest obciążenie zarówno procesora, jak i pamięci, które może prowadzić do blokady usług. Mamy zatem do czynienia z klasycznym atakiem typu ping flood, czyli zalania serwera pakietami ICMP, które w ogromnej liczbie mogą w końcu prowadzić do awarii.
Wykorzystanie podatności CVE-2019-9514 przebiega podobnie, jednak nie za pośrednictwem pingowania protokołu, lecz wysyłania nieprawidłowych żądań do strumieni RST_STREAM – w zależności od tego, jak kolejkowane są kolejne klatki, znów może dojść do zwiększone zużycia mocy obliczeniowej CPU, pamięci, a finalnie do DoS-a.
Jak wspomnieliśmy już we wstępie, Kubernetes wydało już nową wersję swojego orkiestratora z załataną wersją biblioteki Go (wersje go1.12.8 oraz go.1.11.13). Instrukcje aktualizacji poszczególnych klastrów znaleźć można w dokumentacji usługi.
Zobacz też: Docker Enterprise 3.0 upraszcza życie z Kubernetes i budowę nowoczesnych aplikacji