Krytyczna luka w sudo pozwala na uzyskanie uprawnień roota

L Badacze bezpieczeństwa Qualys zidentyfikowali krytyczną lukę (CVE-2021-3156) w narzędziu sudo, który ma na celu organizowanie wykonywania poleceń w imieniu innych użytkowników.

Słaby punkt umożliwia nieuwierzytelniony dostęp z uprawnieniami roota. Problem może być używany przez każdego użytkownika, niezależnie od obecności w grupach systemowych i obecności wpisu w pliku / etc / sudoers.

Atak nie wymaga podania hasła użytkownika, to znaczy, że luka może zostać wykorzystana przez osobę zewnętrzną do podniesienia uprawnień w systemie po tym, jak luka została naruszona w procesie bez uprawnień (w tym tych, które zostały uruchomione przez użytkownika „nobody”).

Aby wyszukać lukę w systemie, po prostu uruchom polecenie „sudoedit -s /”, a luka jest obecna, jeśli zostanie wyświetlony komunikat o błędzie zaczynający się od „sudoedit:”.

O podatności

Luka pojawia się od lipca 2011 roku i jest spowodowana przepełnieniem bufora w obsłudze znaków zmiany znaczenia linii w parametrach przeznaczonych do wykonywania poleceń w trybie powłoki. Tryb powłoki jest włączany przez podanie argumentów "-i" lub "-s" i powoduje, że polecenie nie jest wykonywane bezpośrednio, ale przez dodatkowe wywołanie powłoki z flagą "-c" ("sh -c polecenie»).

Najważniejsze jest to, że gdy narzędzie sudo działa normalnie, wymyka się ze znaków specjalnych, określając opcje „-i” i „-s”, ale po uruchomieniu narzędzia sudoedit parametry nie są zmieniane, jak parse_args () Funkcja ustawia zmienną środowiskową MODE_EDIT zamiast MODE_SHELL i nie resetuje wartości „valid_flags”.

Z kolei transmisja znaków bez zmiany znaczenia stwarza warunki do wystąpienia kolejnego błędu w kontrolerze, który usuwa znaki ucieczki przed sprawdzeniem reguł sudoer.

Program obsługi nieprawidłowo analizuje obecność znaku ukośnika odwrotnego bez zmiany znaczenia na końcu linii, uważa, że ​​ten lewy ukośnik ucieka jeszcze jeden znak i kontynuuje odczytywanie danych poza granicę wiersza, kopiując je do bufora "user_args" i nadpisując obszary pamięci poza buforem.

I wspomina się, że próbując manipulować wartościami w linii poleceń sudoedit, atakujący może osiągnąć superpozycję kolejki wielokrotnego zapisu w danych, co wpływa na dalszy przebieg pracy.

Oprócz tworzenia exploita upraszcza to, że atakujący ma pełną kontrolę nad rozmiarem bufora user_args, który odpowiada rozmiarowi wszystkich przekazanych argumentów, a także kontroluje rozmiar i zawartość danych zapisywanych poza buforem za pomocą Zmienne środowiska.

Badaczom bezpieczeństwa Qualys udało się przygotować trzy exploity, których praca polega na przepisaniu zawartości struktur sudo_hook_entry, service_user i def_timestampdir:

  • Po przerwaniu sudo_hook_entry plik binarny o nazwie „SYSTEMD_BYPASS_USERDB” może zostać uruchomiony jako root.
  • Zastępując service_user udało się uruchomić dowolny kod jako root.
  • Zastąpienie def_timestampdir umożliwiło opróżnienie zawartości stosu sudo, w tym zmiennych środowiskowych, do pliku / etc / passwd i zastąpienie użytkownika uprawnieniami roota.

Naukowcy pokazały, że exploity działają aby uzyskać pełne uprawnienia roota na Ubuntu 20.04, Debian 10 i Fedorze 33.

Słaby punkt mogą być wykorzystywane na innych systemach operacyjnych i dystrybucjach, ale weryfikacja badaczy była ograniczona do Ubuntu, Debiana i Fedory, a ponadto wspomina się, że dotyczy to wszystkich wersji sudo 1.8.2 do 1.8.31p2 i 1.9.0 do 1.9.5p1 w ustawieniach domyślnych. Sugerowane rozwiązanie w sudo 1.9.5p2.

Naukowcy powiadomili programistów z wyprzedzeniem dystrybutorzy, którzy już wydali aktualizacje pakietów w skoordynowany sposób: Debian, RHEL, Fedor, Ubuntu, SUSE / openSUSE, Arch Linux, Slackware, Gentoo i FreeBSD.

W końcu jeśli chcesz dowiedzieć się więcej na ten temat o luce, możesz sprawdzić szczegóły W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.