Luka, która była obecna w polkicie przez 12 lat, pozwalała na uzyskanie uprawnień administratora 

Kilka dni temu pojawiła się wiadomość, że Zespół badawczy Qualys odkrył podatność na uszkodzenie pamięci w polkicie pkexec, główny program SUID, który jest domyślnie instalowany we wszystkich głównych dystrybucjach systemu Linux.

Ta luka łatwe do wykorzystania umożliwiał każdemu nieuprzywilejowanemu użytkownikowi uzyskanie pełnych uprawnień roota na podatnym hoście przez wykorzystanie tej luki w domyślnej konfiguracji.

polka (dawniej znany jako PolicyKit) jest komponentem do kontroli uprawnień w całym systemie w systemach operacyjnych typu Unix. Zapewnia zorganizowany sposób komunikowania się procesów nieuprzywilejowanych z procesami uprzywilejowanymi, a ponadto możliwe jest użycie polkit do uruchamiania poleceń z podwyższonymi uprawnieniami za pomocą polecenia pkexec, po którym następuje polecenie, które ma uruchamiać (z uprawnieniami administratora).

O podatności

Słaby punkt leży w pkexec, tak Twój kod zawiera błąd obsługi wskaźnika, niektóre z nich w końcu odwołujesz się do obszarów pamięci, które nie powinny. Wykorzystując tę ​​lukę, możliwe jest niemal natychmiastowe uzyskanie uprawnień administratora.

Podatność skatalogowana jako CVE-2021-4034 otrzymała w CVSS wynik 7,8, a zespół Qualys wyjaśnił w poście na blogu, że:

Błąd pkexec otwiera drogę do uprawnień administratora dla atakującego. Badacze Qualys, powiedział, wykazali wykorzystywanie domyślnych instalacji Ubuntu, Debiana, Fedory i CentOS, a także innych dystrybucji Linuksa, które również są uważane za podatne na ataki.

„Pomyślne wykorzystanie tej luki umożliwia każdemu nieuprzywilejowanemu użytkownikowi uzyskanie uprawnień roota na podatnym hoście. Analitycy bezpieczeństwa Qualys byli w stanie niezależnie zweryfikować tę lukę, opracować exploita i uzyskać pełne uprawnienia roota w domyślnych instalacjach Ubuntu, Debian, Fedora i CentOS. Inne dystrybucje Linuksa są prawdopodobnie podatne na ataki i można je wykorzystać. Ta luka jest ukryta przez ponad 12 lat i dotyczy wszystkich wersji pkexec od czasu jego pierwszego wydania w maju 2009 (potwierdź c8c3d83, „Dodaj polecenie pkexec(1)”).

„Gdy tylko nasz zespół badawczy potwierdził lukę, Qualys zobowiązał się do odpowiedzialnego ujawnienia luki w zabezpieczeniach i skoordynował działania z dostawcami i dystrybucjami open source, aby ogłosić lukę”.

Problem pojawia się, gdy funkcja main() wysłana przez pkexec przetwarzanie argumentów wiersza poleceń i argc wynosi zero. Funkcja nadal próbuje uzyskać dostęp do listy argumentów i kończy na próbie użycia rgvvoid (wektora ARGument ciągów argumentów wiersza poleceń). W rezultacie pamięć jest odczytywana i zapisywana poza granicami, co atakujący może wykorzystać do wstrzyknięcia zmiennej środowiskowej, która może spowodować załadowanie dowolnego kodu.

Możliwość ponownego wprowadzenia tych zmiennych sprawia, że ​​kod jest podatny na ataki. Przynajmniej technika eksploatacji oferowana przez Qualys (wstrzyknięcie zmiennej GCONV_PATH do środowiska pkexec w celu uruchomienia biblioteki współdzielonej jako root) pozostawia ślady w plikach dziennika.

W zaleceniu dotyczącym bezpieczeństwa firma Red Hat wydała następujące oświadczenie:

„Red Hat wie o luce w zabezpieczeniach pkexec, która umożliwia uwierzytelnionemu użytkownikowi przeprowadzenie ataku polegającego na podniesieniu uprawnień”.

„Głównym zagrożeniem dla klientów jest możliwość uzyskania przez nieuprzywilejowanego użytkownika uprawnień administracyjnych w systemach, których dotyczy problem. Atakujący musi mieć dostęp do systemu docelowego, aby przeprowadzić atak.”

Warto zaznaczyć, że luka została zidentyfikowana już w 2013 roku i zostały szczegółowo opisane w poście na blogu, nawet jeśli nie podano PoC:

„Lol, pisałem o tej luce w Polkit w 2013 roku. Nie mogłem znaleźć rzeczywistej ścieżki exploita, ale zidentyfikowałem pierwotną przyczynę”.

Wreszcie, jeśli chcesz się o tym dowiedzieć, możesz zapoznać się ze szczegółami w następujący link.


Zostaw swój komentarz

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

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  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.