Znaleźli dwie luki w jądrze Linux

10

Kilka dni temu pojawiła się wiadomość, że W jądrze Linux zidentyfikowano dwie luki pierwszy z nich został już skatalogowany jako CVE-2022-0435 i został znaleziony w module jądra Linux, który zapewnia obsługę protokołu sieciowego TIPC (Transparent Inter-Process Communication).

Ta luka może pozwolić na uruchomienie kodu na poziomie jądra wysyłając pakiet do specjalnie zaprojektowanej sieci.

Problem dotyczy tylko systemów z załadowanym modułem jądra tipc.ko i skonfigurowany ze stosem TIPC, który jest zwykle używany w klastrach i nie jest domyślnie włączony w niewyspecjalizowanych dystrybucjach systemu Linux.

Słaby punkt jest to spowodowane przepełnieniem stosu, które występuje podczas przetwarzania pakietów, wartość pola z liczbą węzłów członkowskich domeny, w której przekracza 64.

Aby przechowywać parametry węzłów w module tipc.ko, tablica ustawia „u32 members[64]”, ale w trakcie przetwarzania tego, co jest określone w pakiecie. Numer węzła nie sprawdza wartości „member_cnt”, co pozwala na użycie wartości większych niż 64 do kontrolowanego nadpisywania danych w obszarze pamięci poniżej. stos po strukturze „dom_bef”.

Protokół TIPC został pierwotnie opracowany przez firmę Ericsson, jest przeznaczony do organizowania komunikacji między procesami w klastrze i jest aktywowany głównie na węzłach klastra. TIPC może pracować zarówno przez Ethernet, jak i UDP (port sieciowy 6118).

Podczas pracy przez Ethernet atak może być wykonany z sieci lokalnej, a przy użyciu UDP z sieci globalnej, jeśli port nie jest objęty zaporą ogniową. Atak może również przeprowadzić lokalny użytkownik bez uprawnień na hoście. Aby włączyć TIPC, musisz załadować moduł jądra tipc.ko i skonfigurować powiązanie z interfejsem sieciowym za pomocą netlinka lub narzędzia tipc.

Wspomina się, że podczas budowania jądra w trybie „CONFIG_FORTIFY_SRC=y” (używany w RHEL), który dodaje dodatkowe sprawdzanie granic do funkcji memcpy(), działanie jest ograniczone do zatrzymania awaryjnego (jądro przechodzi w stan „Kernel Panic”).

Jeśli zostanie uruchomiony bez dodatkowych kontroli i wycieknie informacja o flagach kanarkowych używanych do ochrony stosu, problem może zostać wykorzystany do zdalnego wykonania kodu z prawami jądra. Badacze, którzy zidentyfikowali problem, twierdzą, że technika exploitów jest trywialna i zostanie ujawniona po powszechnym usunięciu luki w dystrybucjach.

Błąd, który wygenerował lukę, został wprowadzony 15 czerwca 2016 r. i stał się częścią jądra Linux 4.8. słaby punkt naprawiono w wersjach jądra Linux 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 i 4.9.301.

Kolejna luka który został znaleziony w jądrze Linuksa jest CVE-2022-24122 w kodzie do obsługi ograniczeń rlimit w różnych przestrzeniach nazw użytkowników.

Błąd został wprowadzony w zmianie dodanej latem 2021 r., przenosząc implementację niektórych liczników RLIMIT na użycie struktury „ucounts”. Obiekty „ucounts” utworzone dla RLIMIT były nadal używane po zwolnieniu przydzielonej im pamięci (use-after-free) poprzez usunięcie skojarzonej z nimi przestrzeni nazw, co umożliwiło wykonanie ich kodu na poziomie jądra.

Wykorzystanie luki przez nieuprzywilejowanego użytkownika jest możliwe tylko wtedy, gdy system ma nieuprzywilejowany dostęp do przestrzeni nazw identyfikatora użytkownika (przestrzeń nazw użytkownika nieuprzywilejowanego), która jest domyślnie włączona w Ubuntu i Fedorze, ale nie jest włączona w Debianie i RHEL.

Jako obejście w celu zablokowania luki możesz wyłączyć nieuprzywilejowany dostęp do przestrzeni nazw użytkownika:

sysctl -w kernel.unprivileged_userns_clone=0

Problem istnieje od jądra Linux 5.14 i zostanie naprawiony w aktualizacjach 5.16.5 i 5.15.19. Problem nie dotyczy stabilnych gałęzi Debiana, Ubuntu, SUSE/openSUSE i RHEL, ale pojawiają się one w nowych jądrach Fedory i Arch Linux.


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.