Nasza strona używa cookies. Dowiedz się więcej o celu ich używania i zmianie ustawień w przeglądarce. Korzystając ze strony, wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki. Rozumiem

Poważna luka w Kubernetes zagraża plikom użytkownika

Luka CVE-2019-11246 w poleceniu kubectl cp umożliwia atak directory traversal, który pozwoli złośliwym kontenerom manipulować plikami na komputerze użytkownika.
Poważna luka w Kubernetes zagraża plikom użytkownika

Zespół Kubernetes ogłosił odkrycie poważnej luki bezpieczeństwa w poleceniu kubectl cp, która potencjalnie może pozwolić złośliwym kontenerom uzyskać dostęp do plików użytkownika na jego stacji roboczej

Ta luka wpływa na interfejs wiersza poleceń a konkretnie polecenie kubectl cp, wykorzystywane do manipulacji plikami pomiędzy kontenerami a komputerem. Luka została odkryta podczas audytu bezpieczeństwa Kubernetesa, przeprowadzona przez Atredis Partners na zlecenie Cloud Native Computing Foundation. W oficjalnym wpisie Joel Smith z zespołu bezpieczeństwa Kubernetes dziękuję Charlesowi Holmesowi z Atredis za odkrycie luki oraz Maciejowi Szulikowi z Red Hat za stworzenie łatki, która naprawia lukę, jak i Timowi Allclairowi ze swojego zespołu za przypadki testowe. 

kubectl cp

Polecenie kubectl cp pozwala na kopiowanie plików pomiędzy kontenerami i komputerem użytkownika. Do kopiowania plików z kontenera, Kubernetes uruchamia tar wewnątrz kontenera w celu utworzenia archiwum tar, a następnie kopiuje je przez sieć, by rozpakować archiwum już na maszynie użytkownika.

W przypadku, gdy plik tar w kontenerze jest złośliwy, może ewentualnie uruchomić dowolny kod i wygenerować nieoczekiwane wyniki. Atakujący mógłby wykorzystać sytuację do zapisywania plików w dowolnej ścieżce na komputerze użytkownika, za każdym razem, gdy wywoływany jest kubectl cp, co jest ograniczone tylko uprawnieniami systemowymi lokalnego użytkownika.

Do pełnego wykorzystania, luka wymaga interakcji docelowego użytkownika i pewnej dozy nieuwagi i luźnych uprawnień z jego strony, niemniej jednak Kubernetes uważa problem za poważny i zachęca do uaktualnienia kubectl do wersji zawartej w Kubernetes 1.12.9 lub nowszej, gdzie problem został naprawiony. Aby ułatwić dość skomplikowany proces ręcznej aktualizacji komponentów Kubernetes, twórcy stworzyli instrukcję, którą linkują w oficjalnym wpisie. 

To nie pierwszy raz

Martwiące jest jednak to, że bardzo podobna luka została odkryta 4 marca przez firmę Twistlock, która zgłosiła lukę zespołom Kubernetes, ostatecznie uzyskując nazwę CVE-2019-1002101. Ta luka była niemal identyczna, również wykorzystując kubectl cp do zmieniania lub usuwania plików na maszynie użytkownika. Mogłoby się zatem wydawać, że obecna luka wynika z niekompletnych poprawek poprzedniej. W oficjalnym wpisie z marca apropo luki CVE-2019-1002101, który niemal słowo w słowo przypomina wpis o tytułowej luce, Kubernetes również polecał jak najszybszą aktualizację. 

Co dalej?

Godna pochwały jest jednak szybkość reakcji zespołu bezpieczeństwa Kubernetes i dostarczenie rozwiązania i dokumentacji, bez względu na to, czy to standard w ich organizacji, czy może działanie pod wpływem audytu. 

Jeżeli jesteś użytkownikiem Kubernetesa, polecamy uruchomić wiersz poleceń i wpisać kubectl version --client, by sprawdzić obecną wersję. Wersje od 1.12.9, 1.13.6, 1.14.2 lub nowsze powinny być bezpieczne.

Oficjalny wpis o CVE-2019-1002101 możecie przeczytać tutaj, szczegóły na temat CVE-2019-1002101 są dostępne na GitHubie, a instrukcja ręcznej aktualizacji kubectl jest dostępna na oficjalnej stronie Kubernetes.

Masz coś do powiedzenia?

Podziel się tym z 120 tysiącami naszych czytelników

Dowiedz się więcej
Rocket dog