Vydáni inženýři Google prostřednictvím příspěvku, který identifikovali vážná zranitelnost (CVE-2020-12351) v zásobníku Bluetooth „BlueZ“ který se používá v distribucích Linux a Chrome OS.
Zranitelnost s kódovým označením BleedingTooth, umožňuje neoprávněnému útočníkovi spustit váš kód na úrovni jádra Linux bez zásahu uživatele zasíláním speciálně vytvořených paketů Bluetooth.
Problém může zneužít útočník, který je v dosahu Bluetooth a kromě skutečnosti, že mezi útočícím zařízením a obětí není nutné předchozí párování, je jedinou podmínkou, že Bluetooth musí být v počítači aktivní.
O zranitelnosti
Za útok stačí znát MAC adresu zařízení oběti, které lze určit trasováním nebo na některých zařízeních vypočítat na základě adresy MAC Wi-Fi.
Zranitelnost je přítomen v komponentách, které zpracovávají pakety L2CAP (Logical Link Control and Adaptation Protocol) na úrovni jádra Linuxu.
Při odesílání speciálně vytvořeného paketu L2CAP s dalšími daty pro kanál A2MP, útočník může přepsat oblast mimo paměť mapované, které lze potenciálně použít k vytvoření zneužití ke spuštění libovolného kódu na úrovni jádra.
Při zadávání jiného CID než L2CAP_CID_SIGNALING, L2CAP_CID_CONN_LESS a L2CAP_CID_LE_SIGNALING v paketu je v BlueZ volána obslužná rutina 2cap_data_channel (), která pro kanály v režimech L2CAP_MODE_ERTM nazývá kontrolní filtr kanálu s názvem Filter2 a kanál L2 (). Pro pakety s CID L2CAP_CID_A2MP neexistuje žádný kanál, takže k jeho vytvoření se volá funkce aXNUMXmp_channel_create (), která při zpracování datového pole chan-> používá typ „struct amp_mgr“, ale typ pro toto pole musí být "Struct ponožka".
Chyba zabezpečení se objevila od linuxového jádra 4.8 A navzdory tvrzením společnosti Intel to v nedávno vydané verzi 5.9 nebylo řešeno.
Matthew Garrett, známý vývojář linuxových jader, který získal ocenění od Nadace svobodného softwaru za přínos k vývoji svobodného softwaru, tvrdí, že informace ve zprávě společnosti Intel jsou nesprávné a že jádro 5.9 neobsahuje správné opravy. k opravě této chyby zabezpečení byly opravy zahrnuty ve větvi linux-next, nikoli ve větvi 5.9).
Rovněž vyjádřil pobouření nad politikou společnosti Intel týkající se odhalení slabých míst: vývojáři distribuce Linuxu nebyli před vydáním zprávy o problému informováni a neměli příležitost předexportovat opravy svých balíčků jádra.
V BlueZ byly navíc identifikovány další dvě chyby zabezpečení:
- CVE-2020-24490 - Přetečení vyrovnávací paměti kódu HCI (hci_event.c). Vzdálený útočník může dosáhnout přetečení vyrovnávací paměti a spuštění kódu na úrovni jádra Linuxu zasláním oznámení o vysílání. Útok je možný pouze na zařízení podporující Bluetooth 5, když je na nich aktivní režim skenování.
- CVE-2020-12352: Ztráta informací o zásobníku během zpracování paketu A2MP. Problém může zneužít útočník, který zná MAC adresu zařízení k načtení dat ze zásobníku jádra, který by mohl potenciálně obsahovat citlivé informace, jako jsou šifrovací klíče. Zásobník může také obsahovat ukazatele, takže problém lze použít k určení rozložení paměti a obejití ochrany KASLR (randomizace adres) při zneužití pro další chyby zabezpečení.
Nakonec bylo oznámeno zveřejnění prototypu zneužití k ověření problému.
U distribucí problém zůstává neopravený (Debian, RHEL (potvrzená zranitelnost ve verzích RHEL od 7.4), SUSE, Ubuntu, Fedora).
Platforma Android není tímto problémem ovlivněna, protože používá vlastní zásobník Bluetooth, založený na kódu z projektu BlueDroid společnosti Broadcom.
Pokud se chcete o této chybě zabezpečení dozvědět více, můžete si přečíst podrobnosti Na následujícím odkazu.
Boj proti zranitelnosti nikdy neskončí, toto téma bude vždy přítomno. Hackeři budou každý den hledat další způsoby, jak provádět kybernetické útoky. Nic není dokonalé, vždy tu bude určité procento zranitelnosti. Proto každý den musíme pokračovat v práci v boji proti těmto útokům.