Znowu… znaleźli kolejną lukę w podsystemie eBPF

Wiadomości ostatnio to zepsuły zidentyfikował nową lukę (już skatalogowany pod CVE-2021-4204) w podsystemie eBPF (dla odmiany) ...

I to jest to, że podsystem eBPF nie przestał być poważnym problemem bezpieczeństwa dla jądra, ponieważ łatwo przez cały 2021 rok były ujawniane dwie luki miesięcznie, ao niektórych z nich mówimy tutaj na blogu.

Jeśli chodzi o szczegóły obecnego problemu, wspomina się, że wykryta luka pozwala sterownikowi na uruchomienie wewnątrz jądra Linux w specjalnej maszynie wirtualnej JIT, która z kolei umożliwia nieuprzywilejowanemu użytkownikowi lokalnemu eskalację uprawnień i wykonanie kodu na poziomie jądra.

W opisie problemu wspominają o tym podatność wynika z nieprawidłowego skanowania programów eBPF przesyłanych do wykonania, ponieważ podsystem eBPF udostępnia funkcje pomocnicze, których poprawność sprawdza specjalny weryfikator.

Ta luka umożliwia lokalnym atakującym zwiększenie uprawnień na
Instalacje jądra systemu Linux, których dotyczy problem. Atakujący musi najpierw uzyskać
możliwość uruchamiania kodu z niskimi uprawnieniami w systemie docelowym, aby
wykorzystać tę lukę.

Specyficzna wada istnieje w obsłudze programów eBPF. Pytanie wynika z braku prawidłowej walidacji programów eBPF dostarczonych przez użytkowników przed ich uruchomieniem. 

Poza tym, niektóre funkcje wymagają przekazania wartości PTR_TO_MEM jako argumentu a weryfikator musi znać rozmiar pamięci związanej z argumentem, aby uniknąć potencjalnych problemów z przepełnieniem bufora.

Podczas gdy dla funkcji bpf_ringbuf_submit i bpf_ringbuf_discard, dane o wielkości przeniesionej pamięci nie są zgłaszane do weryfikatora (tu zaczyna się problem), które atakujący wykorzystuje do nadpisywania obszarów pamięci poza granicami bufora podczas wykonywania specjalnie spreparowanego kodu eBPF.

Osoba atakująca może wykorzystać tę lukę, aby: eskalować uprawnienia i wykonywać kod w kontekście jądra. ZAUWAŻ, że nieuprzywilejowany bpf jest domyślnie wyłączony w większości dystrybucji.

Wspomniano, że aby użytkownik mógł przeprowadzić atak, użytkownik musi mieć możliwość załadowania programu BPF, a wiele najnowszych dystrybucji Linuksa blokuje to domyślnie (w tym nieuprzywilejowany dostęp do eBPF jest teraz domyślnie zabroniony w samym jądrze, począwszy od wersji 5.16).

Na przykład wspomniano, że luka można wykorzystać w domyślnej konfiguracji w dystrybucja, która jest nadal dość używana, a przede wszystkim bardzo popularna, jak jest Ubuntu 20.04 LTS, ale w środowiskach takich jak Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 i Fedora 33, pojawia się tylko wtedy, gdy administrator ustawił parametr kernel.unprivileged_bpf_disabled na 0.

Obecnie, jako obejście w celu zablokowania luki, wspomina się, że można uniemożliwić nieuprzywilejowanym użytkownikom uruchamianie programów BPF, uruchamiając polecenie w terminalu:

sysctl -w kernel.unprivileged_bpf_disabled=1

Na koniec należy o tym wspomnieć problem pojawił się od jądra Linuksa 5.8 i nie został załatany (w tym wersja 5.16) i dlatego kod exploita zostanie opóźniony o 7 dni i zostanie opublikowany o godzinie 12:00 UTC, czyli 18 stycznia 2022 r.

Z tym ma to na celu zapewnienie wystarczającej ilości czasu na udostępnienie łatek korekcyjnych użytkowników różnych dystrybucji Linuksa w oficjalnych kanałach każdego z nich, a zarówno programiści, jak i użytkownicy mogą naprawić tę lukę.

Dla tych, którzy są zainteresowani możliwością poznania stanu tworzenia aktualizacji z eliminacją problemu w niektórych głównych dystrybucjach, powinni wiedzieć, że można je śledzić z tych stron:  DebianRHELSUSEFedoraUbuntuArch.

Jeżeli jesteś chcesz dowiedzieć się więcej na ten temat o notatce możesz zapoznać się z oryginalnym oświadczeniem 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.