Kolejna luka w podsystemie jądra Linux Netfilter

W podsystemie jądra Netfilter zidentyfikowano lukę (CVE-2022-1972), podobną do problemu ujawnionego pod koniec maja. Nowa podatność umożliwia także użytkownikowi lokalnemu uzyskanie praw root w systemie poprzez manipulację regułami w nftables i wymaga dostępu do nftables w celu przeprowadzenia ataku, który można uzyskać w osobnej przestrzeni nazw (przestrzeni nazw sieci lub przestrzeni nazw użytkownika) za pomocą CLONE_NEWUSER, Prawa CLONE_NEWNS lub CLONE_NEWNET (na przykład, jeśli możliwe jest uruchomienie izolowanego kontenera).

Problem jest spowodowany błędem w kodzie obsługującym listy zestawów z polami zawierającymi wiele zakresów i powoduje zapis poza dopuszczalnym zakresem podczas przetwarzania specjalnie sformatowanych parametrów listy. Naukowcom udało się przygotować działający exploit umożliwiający uzyskanie praw roota w systemie Ubuntu 21.10 z jądrem generycznym 5.13.0-39. Luka pojawia się począwszy od jądra 5.6. Poprawka jest dostarczana w postaci łatki. Aby zablokować wykorzystanie luki w zwykłych systemach, należy wyłączyć możliwość tworzenia przestrzeni nazw dla nieuprzywilejowanych użytkowników („sudo sysctl -w kernel.unprivileged_userns_clone=0”).

Ponadto opublikowano informację o trzech podatnościach jądra związanych z podsystemem NFC. Luki mogą spowodować awarię poprzez działania wykonane przez nieuprzywilejowanego użytkownika (nie wykazano jeszcze bardziej niebezpiecznych wektorów ataku):

  • CVE-2022-1734 to wywołanie pamięci po zwolnieniu w sterowniku nfcmrvl (drivers/nfc/nfcmrvl), które występuje podczas symulowania urządzenia NFC w przestrzeni użytkownika.
  • CVE-2022-1974 — W funkcjach netlink dla urządzeń NFC (/net/nfc/core.c) następuje wywołanie już zwolnionej pamięci, co ma miejsce podczas rejestracji nowego urządzenia. Podobnie jak w przypadku poprzedniej luki, problem można wykorzystać poprzez symulację urządzenia NFC w przestrzeni użytkownika.
  • CVE-2022-1975 to błąd w kodzie ładowania oprogramowania sprzętowego dla urządzeń NFC, który można wykorzystać do wywołania stanu „paniki”.

Źródło: opennet.ru

Dodaj komentarz