BleedingTooth: luka w BlueZ, która umożliwia zdalne wykonanie kodu

Wydanie inżynierów Google za pośrednictwem poczty, którą zidentyfikowali poważna luka w zabezpieczeniach (CVE-2020-12351) w stosie Bluetooth „BlueZ” który jest używany w dystrybucjach systemu Linux i Chrome OS.

Luka o nazwie kodowej BleedingTooth, umożliwia nieautoryzowanemu napastnikowi wykonanie kodu na poziomie jądra Linux bez interwencji użytkownika poprzez wysyłanie specjalnie spreparowanych pakietów Bluetooth.

Problem może zostać wykorzystany przez atakującego znajdującego się w zasięgu Bluetooth i poza tym, że nie jest wymagane wcześniejsze sparowanie atakującego urządzenia z ofiarą, jedynym warunkiem jest to, że na komputerze musi być aktywny Bluetooth.

O podatności

Do ataku wystarczy znać adres MAC urządzenia ofiary, który można określić przez śledzenie lub, na niektórych urządzeniach, obliczyć na podstawie adresu MAC Wi-Fi.

Słaby punkt jest obecny w komponentach przetwarzających pakiety L2CAP (Logical Link Control and Adaptation Protocol) na poziomie jądra Linuksa.

Podczas wysyłania specjalnie spreparowanego pakietu L2CAP z dodatkowymi danymi dla kanału A2MP, atakujący może nadpisać obszar z pamięci mapped, który potencjalnie może zostać użyty do stworzenia exploita w celu wykonania dowolnego kodu na poziomie jądra.

Podczas określania identyfikatora CID innego niż L2CAP_CID_SIGNALING, L2CAP_CID_CONN_LESS i L2CAP_CID_LE_SIGNALING w pakiecie, procedura obsługi 2cap_data_channel () jest wywoływana w BlueZ, która dla kanałów w trybach L2CAP_MODE_ERTM jest dopasowywana do trybu check_C2 i kanału przeskoku. (). W przypadku pakietów z CID L2CAP_CID_A2MP nie ma kanału, więc aby go utworzyć, wywoływana jest funkcja a2mp_channel_create (), która używa typu „struct amp_mgr” podczas przetwarzania pola danych chan->, ale typ tego pola musi być „Skarpety Struct”.

Luka pojawiła się od czasu jądra Linux 4.8 I pomimo twierdzeń Intela, nie zostało to rozwiązane w niedawno wydanej wersji 5.9.

Matthew Garrett, znany programista jądra Linuksa, który otrzymał nagrodę od Free Software Foundation za swój wkład w rozwój wolnego oprogramowania, twierdzi, że informacje zawarte w raporcie Intela są niepoprawne i że jądro 5.9 nie zawiera poprawnych poprawek. aby naprawić lukę, łaty zostały dołączone do gałęzi linux-next, a nie do gałęzi 5.9).

Wyraził także oburzenie z powodu polityki Intela dotyczącej ujawniania luk w zabezpieczeniach: deweloperzy dystrybucji Linuksa nie zostali powiadomieni o problemie przed opublikowaniem raportu i nie mieli możliwości wstępnego eksportu poprawek do swoich pakietów jądra.

Ponadto podobno zidentyfikowano jeszcze dwie luki w BlueZ:

  • CVE-2020-24490 - przepełnienie bufora kodu analizującego HCI (hci_event.c). Osoba atakująca zdalnie może osiągnąć przepełnienie bufora i wykonanie kodu na poziomie jądra Linuksa, wysyłając ogłoszenia rozgłoszeniowe. Atak jest możliwy tylko na urządzeniach obsługujących Bluetooth 5, gdy jest na nich aktywny tryb skanowania.
  • CVE-2020-12352: Utrata informacji stosu podczas przetwarzania pakietów A2MP. Problem może zostać wykorzystany przez osobę atakującą, która zna adres MAC urządzenia, w celu pobrania danych ze stosu jądra, które mogą potencjalnie zawierać poufne informacje, takie jak klucze szyfrujące. Stos może również zawierać wskaźniki, więc problem można wykorzystać do określenia układu pamięci i obejścia ochrony KASLR (randomizacja adresów) w exploitach dla innych luk w zabezpieczeniach.

Na koniec zapowiedziano publikację prototypu exploita w celu zweryfikowania problemu.

W dystrybucjach problem pozostaje nierozwiązany (Debian, RHEL (luka potwierdzona w wersjach RHEL od 7.4), SUSE, Ubuntu, Fedora).

Problem nie dotyczy platformy Android, ponieważ wykorzystuje ona własny stos Bluetooth oparty na kodzie z projektu BlueDroid firmy Broadcom.

Jeśli chcesz dowiedzieć się więcej o tej luce, możesz zapoznać się ze szczegółami W poniższym linku.


Treść artykułu jest zgodna z naszymi zasadami etyka redakcyjna. Aby zgłosić błąd, kliknij tutaj.

Komentarz, zostaw swój

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  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.

  1.   Aron powiedział

    Walka z wrażliwością nigdy się nie skończy, to kwestia, która zawsze będzie obecna. Każdego dnia hakerzy będą szukać kolejnych sposobów przeprowadzania cyberataków. Nic nie jest idealne, zawsze będzie procent podatności. Dlatego każdego dnia musimy kontynuować walkę z tymi atakami.