Niewykryty błąd sprzed 7 lat umożliwia eskalację przywilejów za pomocą polkit

Kevina Backhouse'a (badacz bezpieczeństwa) udostępniony kilka dni temu na blogu GitHub notka, że napotkał błąd w usłudze polkit związane z systemd (powszechny system Linux i komponent menedżera usług), z którym ma siedmioletnią lukę, która zezwolono na przeprowadzenie eskalacji uprawnień który czaił się w różnych dystrybucjach Linuksa i który został załatany w zeszłym tygodniu w skoordynowanym wydaniu.

Polkit to zestaw narzędzi na poziomie aplikacji do definiowania i zarządzania zasadami to pozwala nieuprzywilejowane procesy Porozmawiaj z uprzywilejowanymi procesami, domyślnie instaluje się w różnych dystrybucjach Linuksa. Luka została wprowadzona w wersji 0.113 siedem lat temu (commit bfa5036) i została naprawiona 3 czerwca po jej niedawnym ujawnieniu przez badacza bezpieczeństwa Kevina Backhouse.

Jako członek GitHub Security Lab, moim zadaniem jest pomoc w poprawie bezpieczeństwa oprogramowania open source poprzez znajdowanie i zgłaszanie luk w zabezpieczeniach. Kilka tygodni temu znalazłem w Polkicie usterkę dotyczącą eskalacji uprawnień. Skoordynowane ujawnianie luk w zabezpieczeniach z opiekunami polkitu i zespołem bezpieczeństwa Red Hata. Została wydana publicznie, poprawka została wydana 3 czerwca 2021 i została przypisana CVE-2021-3560

„Każdy system Linux korzystający z podatnej na ataki wersji polkita jest potencjalnie narażony na ataki wykorzystujące lukę CVE-2021-3560” — komentuje Backhouse. mówi, że wada jest zaskakująco łatwa do wykorzystania, ponieważ wymaga tylko kilku poleceń przy użyciu standardowych narzędzi terminalowych, takich jak bash, kill i dbus-send.

„Luka jest wyzwalana przez uruchomienie polecenia dbus-send, ale zabicie go, gdy polkit nadal przetwarza żądanie”, wyjaśnił Backhouse.

Backhouse opublikował wideo PoC ataku, który wykorzystuje tę lukę, pokazując, że można ją łatwo aktywować.

„Luka umożliwia nieuprzywilejowanemu użytkownikowi lokalnemu uzyskanie powłoki głównej w systemie. Można to łatwo wykorzystać za pomocą standardowych narzędzi wiersza poleceń, jak widać w tym krótkim filmie – napisał ekspert w poście na blogu.

Podczas zabijania dbus-send (polecenie komunikacji między procesami), w środku żądania uwierzytelnienia powoduje błąd Który pochodzi z polkitu żądającego UID połączenia, które już nie istnieje (ponieważ połączenie zostało zerwane).

„W rzeczywistości polkit niewłaściwie radzi sobie z błędem w szczególnie niefortunny sposób: zamiast odrzucać żądanie, traktuje je tak, jakby pochodziło z procesu o identyfikatorze UID 0” — wyjaśnia Backhouse. „Innymi słowy, natychmiast autoryzujesz żądanie, ponieważ uważasz, że żądanie pochodzi z procesu root”.

Nie zdarza się to za każdym razem, ponieważ zapytanie polkit o UID do dbus-daemon występuje wiele razy w różnych ścieżkach kodu. Backhouse powiedział, że zazwyczaj te ścieżki kodu obsługują błąd poprawnie, ale ścieżka kodu jest podatna na ataki, a jeśli rozłączenie nastąpi, gdy ta ścieżka kodu jest aktywna, następuje podniesienie uprawnień. To wszystko jest kwestią czasu, który zmienia się w nieprzewidywalny sposób, ponieważ w grę wchodzi wiele procesów.

Ponadto, badacz opublikował poniższą tabelę który zawiera listę aktualnie podatnych dystrybucji:

DYSTRYBUCJA WRAŻLIWY?
RHEL 7 Nie
RHEL 8 tak
Fedora 20 (lub wcześniejsza) Nie
Fedora 21 (lub nowsza) tak
Debian 10 ("buster") Nie
Testowanie Debiana tak
Ubuntu 18.04 Nie
Ubuntu 20.04 tak

Dotyczy to dystrybucji Linuksa, w których zainstalowano polkit w wersji 0.113 lub nowszej, takich jak Debian (gałąź niestabilna), RHEL 8, Fedora 21 i nowsze oraz Ubuntu 20.04.

Sporadyczny charakter błędu, spekuluje Backhouse, jest powodem, dla którego pozostawał on niewykryty przez siedem lat.

„CVE-2021-3560 umożliwia nieuprzywilejowanemu lokalnemu napastnikowi uzyskanie uprawnień administratora” — powiedział Backhouse. „Jest bardzo prosty i szybki w użyciu, dlatego ważne jest, aby jak najszybciej zaktualizować swoje instalacje Linuksa”.

W końcu Jeśli chcesz dowiedzieć się więcej na ten temat, 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: 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.