W jądrze Linuksa wykryto dwie luki, które nadal umożliwiały użytkownikom podniesienie ich uprawnień 

wrażliwość

Jeśli zostaną wykorzystane, te luki mogą umożliwić atakującym uzyskanie nieautoryzowanego dostępu do poufnych informacji lub ogólnie spowodować problemy

Kilka dni temu pojawiła się wiadomość, że Wykryto dwie luki w zabezpieczeniach podsystemy tzw jądro Linuksa, Netfilter i io_uring, które pozwalają lokalnemu użytkownikowi podnieść swoje uprawnienia w systemie.

Pierwszym z nich jest podatność. (CVE-2023-32233), który został wykryty w podsystemie Netfilter oraz spowodowane dostępem do pamięci use-after-free w module nf_tables, który zapewnia działanie filtra pakietów nftables.

Ten błąd jest spowodowany tym, że netfilter nf_tables umożliwia aktualizację swojej konfiguracji dla żądań wsadowych, które grupują razem wiele podstawowych operacji w transakcjach atomowych.

Problem został odtworzony w różnych wersjach jądra Linuksa, w tym w Linuksie 6.3.1 (obecna stabilna), a lukę można wykorzystać, wysyłając specjalnie spreparowane żądania aktualizacji konfiguracji nftables. Wspomniano, że atak wymaga dostępu do nftables, które można uzyskać w osobnej sieciowej przestrzeni nazw, jeśli masz uprawnienia CLONE_NEWUSER, CLONE_NEWNS lub CLONE_NEWNET (na przykład, jeśli możesz uruchomić izolowany kontener).

W przypadku tego błędu badacz, który zidentyfikował problem, obiecał odłożyć o tydzień publikację szczegółowych informacji i przykładu działającego exploita, który zapewnia powłokę roota.

W określonym scenariuszu nieprawidłowe żądanie wsadowe może zawierać operację, która niejawnie usuwa istniejący anonimowy zestaw nft, a następnie inną operację, która próbuje działać na tym samym anonimowym zestawie nft po jego usunięciu. W powyższym scenariuszu przykładem powyższej operacji jest usunięcie istniejącej reguły nft, która używa zbioru anonimowego nft. A przykładem tej drugiej operacji jest próba usunięcia elementu z tej anonimowej tablicy nft po naprzemiennym usunięciu tablicy, ta druga operacja może nawet podjąć próbę ponownego jawnego usunięcia tej anonimowej tablicy nft. 

Jak już wspomniano na początku, było to kilka dni temu, a exploit i informacje zostały już ujawnione. Exploit oraz jego szczegóły można znaleźć pod następującym linkiem.

Wykryto drugą usterkę, była luka (CVE-2023-2598) w implementacja asynchronicznego interfejsu I/O io_uring zawarte w jądrze Linuksa od wersji 5.1.

Problem jest spowodowany błędem w funkcji io_sqe_buffer_register, która umożliwia dostęp do pamięci fizycznej poza granicami statycznie alokowanego bufora. Problem pojawia się tylko w gałęzi 6.3 i zostanie rozwiązany w następnej aktualizacji 6.3.2.

Wspomniano, że pomysł stojący za oryginalnym zatwierdzeniem polega na tym, że zamiast dzielenia dużych stron, które są buforowane na pojedyncze wpisy bvec, można mieć pojedynczy wpis bvec dla wszystkich buforowanych części strony. W szczególności, jeśli wszystkie strony w mapie buforów używają struktury pierwszej strony i długości bufora w pojedynczym wpisie bvec zamiast mapowania każdej strony indywidualnie.

Tak więc bvec będzie wykraczać daleko poza pojedynczą stronę, której faktycznie może dotykać. Później IORING_OP_READ_FIXED i IORING_OP_WRITE_FIXED pozwalają nam na dowolny odczyt i zapis do bufora (tj. pamięci wskazywanej przez bvec). Umożliwia to dostęp do odczytu/zapisu do pamięci fizycznej za jedyną stroną, którą faktycznie mamy.

Publikacja dotycząca luki w zabezpieczeniach wspomina o krokach odtwarzania błędów:

1. Utwórz memfd
2. Błąd na pojedynczej stronie w tym deskryptorze pliku
3. Użyj MAP_FIXED, aby wielokrotnie mapować tę stronę do kolejnych lokalizacji
4. Zarejestruj cały region, który właśnie wypełniłeś tą stroną jako
stały bufor z IORING_REGISTER_BUFFERS
5. Użyj IORING_OP_WRITE_FIXED, aby zapisać bufor do innego pliku
(OOB odczyt) lub IORING_OP_READ_FIXED do odczytu danych w buforze (
zapis OOB).

Na koniec warto o tym wspomnieć jest już dostępny  działający prototyp exploita (CVE-2023-2598) do testowania, umożliwiając uruchamianie kodu z uprawnieniami jądra.

Słaby punkt (CVE-2023-32233) Zostało to naprawione w aktualizacji 6.4-rc i możesz śledzić naprawę luki w dystrybucjach na stronach: DebianUbuntuGentooRHELFedoraSUSE/openSUSEłuk.


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.