Wszystkie wersje Kubernetes narażone na DoS. Winne podatności bibliotek Golang

Maciej Olanicki , 21.08.2019 r.
kontenery Obie podatności Go na szczęście zostały już załatane także w Kubernetes.

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

Najnowsze oferty pracy:

Polecane wpisy na blogu IT: