Menu dostępności

UWAGA! Zwykły użytkownik Linux może wykonać dowolną komendę! Wszystko z powodu wykrytej podatności

Jak się okazuje nie tylko systemy Microsoft są podatne na błędy oprogramowania. Nie tak dawno, bo na początku grudnia wykryto podatność pozwalająca zwykłemu użytkownikowi wykonać dowolną komendę systemctl na systemie Linux! Aktualizujcie swoje systemy i przeczytajcie ten artykuł.


Co umożliwia luka?


Luka systemowa działa na większości systemów operacyjnych i dotyczy problemu, w którym identyfikator użytkownika na Linux (tzw. Numer UID) posada wartość powyżej 2147483647. Taki użytkownik może wtedy wykonać w sposób nieautoryzowany każda komendę systemctl. Przypomnamy, że komenda systemctl odpowiada za zarządzanie usługami na Linux.

Zgłoszona luka dotyczy w rzeczywistości PolicyKit (znanego również jako polkit) – zestawu narzędzi na poziomie aplikacji dla uniksopodobnych systemów operacyjnych, który definiuje zasady(polityki), obsługuje ogólnosystemowe uprawnienia i umożliwia procesom nieuprzywilejowanym komunikowanie się z tymi uprzywilejowanymi, takimi jak jako „sudo”, które nie daje uprawnień roota do całego procesu.


Na jakich systemach występuje podatność?


Problem już został zgłoszony pod numerem CVE-2018-19788 i dotyczy PolicyKit w wersji 0.115, który jest domyślnie zainstalowany w najpopularniejszych dystrybucjach Linux’a, w tym Red Hat, Debian, Ubuntu i CentOS.

Podatność powstała na skutek błędów/nieprawidłowości w mechanizmie sprawdzania przez PolicyKit żądań uprawnień dla każdego użytkownika o niskich uprawnieniach z identyfikatorem UID większym niż parametr INT_MAX. INT_MAX jest stałą zdefiniowaną w systemie operacyjnym, która definiuje maksymalną wartość, jaką może przechowywać zmienna całkowita, która w przypadku Linux wynosi 2147483647 (w systemie szesnastkowym 0x7FFFFFFF).

Oznacza to tyle, jeśli utworzymy w niezaktualizowanym systemie Linux konto użytkownika o identyfikatorze większym niż maksymalna wartość INT_MAX, komponent PolicyKit pozwoli na tym koncie wykonać komendę systemctl.


Sprawdźmy podatność w naszym środowisku


Do testów postanowiliśmy przeznaczyć nasz system Kali Linux w ostatniej dostępnej dystrybucji, czyli z 2018.4
Scenariusz testu POC:

  1. Utworzenie użytkownika UID > INT_MAX np.. 4000000000
  2. Uruchomienie dowolnej komendy systemctl np. zatrzymanie usługi cron.

Najpierw stwórzmy konto kapitanh na systemie linux Kali:

Zalogujmy się na użytkownika kapitanh do systemu Kali Linux.
Wyświetlmy identyfikator użytkownika, wersję systemu oraz agenta Polkit:

Zatem nasz system zgodnie z informacja o podatności powinien być dziurawy. Sprawdźmy, czy faktycznie jest. Spróbujemy zastopować serwis cron:

Udało się! Zatrzymaliśmy serwis Cron na zwykłym koncie użytkownika na systemie operacyjnym Linux Kali. Oznacza to, że możemy robić z usługami co nam się tylko podoba 🙂

Na koniec jako ciekawostkę dodamy, iż za pomocą tej luki można utworzyć podatny serwis w Linux. Szczegóły znajdziecie tutaj.


Jak sobie radzić z problemem?


Pamiętajcie o aktualizacji luki (jak będzie tylko dostępna łatka) i sprawdzaniu / monitorowaniu wszystkich użytkowników na Linux. Redhat np. jeszcze łatki nie stworzył link. Użytkownicy z UID większym od 214748364, a już na pewno od 4000000000 będą na pewno w tym przypadku napiętnowani 🙂


Pozdrawiamy,
Kapitan Hack

Popularne

Jak wyglądają ataki brute force na hasła w 2026 roku

Jak wyglądają ataki brute force na hasła w 2026 roku

Jeszcze kilka lat temu wydawało się, że klasyczne ataki brute force powoli odchodzą do historii. Coraz więcej usług korzysta z MFA, mechanizmów blokowania kont, CAPTCHA czy ograniczania liczby prób l...
Entra Connect może przestać synchronizować konta. Co trzeba zrobić przed 30 września 2026 roku?

Entra Connect może przestać synchronizować konta. Co trzeba zrobić przed 30 września 2026 roku?

O planowanym przechodzeniu z Microsoft Entra Connect Sync do Cloud Sync pisaliśmy już w artykule „Entra Connect Sync odchodzi w cień”. Istnieje jednak jeszcze inny termin, którego nie mogą przeoczyć organizac...
Dlaczego LDAP ma ponad 30 lat, a nadal nie odchodzi na emeryturę?

Dlaczego LDAP ma ponad 30 lat, a nadal nie odchodzi na emeryturę?

Kto pamięta czasy Novell NetWare 3.12? W latach 90. był to w Polsce jeden z najpopularniejszych sieciowych systemów operacyjnych. Można go było spotkać w firmach, urzędach, szkołach, na uczelniach i w ośr...
Jak zhakowane publiczne bramki Wi-Fi używane są do pozyskiwania poświadczeń korporacyjnych?

Jak zhakowane publiczne bramki Wi-Fi używane są do pozyskiwania poświadczeń korporacyjnych?

SecurityWeek za ReliaQuest informuje, że cyberprzestępcy przeprowadzają ataki na urządzenia obsługujące publiczne sieci Wi-Fi z tzw. captive portal (stroną logowania), by przejmować konta Microsoft 365 pod...
AI pomaga stworzyć exploit dla jądra Linuksa. CVE-2026-53264 umożliwia przejęcie uprawnień root

AI pomaga stworzyć exploit dla jądra Linuksa. CVE-2026-53264 umożliwia przejęcie uprawnień root

Sztuczna inteligencja coraz śmielej wspiera specjalistów ds. bezpieczeństwa – nie tylko podczas analizy kodu, ale również przy opracowywaniu działających exploitów. Najnowszym przykładem jest podatność...