Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Krytyczna podatność w Dockerze. Można wyskakiwać z kontenerów

20 listopada 2019, 21:54 | Aktualności | komentarze 3

Strategia: „niech w kontenerze dzieje się co chce – i tak nam nic nie zrobią, bo mamy kontener” nie jest zbyt rozsądna. Otóż jeśli ktoś uzyska możliwość wykonywania kodu w OS w środku kontenera oraz ma lub wyeskaluje uprawnienia do roota, korzystając z tej luki może wyskoczyć z kontenera.

CVE-2019-14271 ocenione jest na 9.8 / 10 w skali CVSSv3, a w opisie czytamy:

a security issue in the implementation of the Docker cp command that can lead to full container escape when exploited by an attacker. If the user then executes the vulnerable cp command to copy files out of the compromised container, the attacker can escape and take full root control of the host and all other containers in it.

Jak więc widać, do pełnego uzyskania dostępu na głównym systemie, potrzebne jest jeszcze użycie polecenia docker cp czyli skopiowanie gdzieś na zewnątrz pliku z zaatakowanego kontenera.

Gdzie tkwi istota błędu? Otóż polecenie docker cp odpala dodatkowy proces docker-tar, który uruchamia się w chroocie w kontenerze.

I dochodzimy do sedna – atakujący jest w stanie w kontenerze podrzucić biblioteki, które są dołączane przez docker-tar działający poza kontenerem!

Normally, libraries would be loaded from the host file system, but since docker-tar chroots to the container, it loads the libraries from the container file system. That means docker-tar will load and execute code originating and controlled by the container.

Dobre rady? Używajcie Dockera co najmniej w wersji 19.03.1 i najlepiej nie odpalajcie kontenerów z roota.

–ms

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. k

    Dobra rada? Proszę:
    alias docker=podman

    Odpowiedz
    • hmm

      czy ktoś zapomniał że gdy nie było podmana i dockera to przyszedł docker a jak było FreeBSD to też były na niego błędy i anotherVerySecurityProduct nie pomoże?

      Odpowiedz
  2. FreeBSD User

    We Freebsd od lat mamy Jaila.. A i w jailu można zainstalować vboxa…

    Odpowiedz

Odpowiedz