Vulnerabilities in the Linux kernel exploitable remotely via Bluetooth

En Linux-kärna har en sårbarhet (CVE-2022-42896) identifierats som potentiellt kan utnyttjas för att utföra kod på kärnnivå genom att skicka ett speciellt utformat L2CAP-paket via Bluetooth. Dessutom har ett liknande problem (CVE-2022-42895) upptäckts i L2CAP-hanteraren, vilket kan leda till läckage av kärkodens innehåll i paket med konfigurationsinformation. Den första sårbarheten har funnits sedan augusti 2014 (kärna 3.16), medan den andra funnits sedan oktober 2011 (kärna 3.0). Sårbarheterna har åtgärdats i versionerna av Linux-kärnan 6.1.0, 6.0.8, 4.9.333, 4.14.299, 4.19.265, 5.4.224, 5.10.154 och 5.15.78. Du kan följa korrigeringarna i distributionerna på följande sidor: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

För att demonstrera möjligheten till en fjärrattack har prototyper av exploits publicerats som fungerar i Ubuntu 22.04. För att utföra attacken måste angriparen befinna sig inom Bluetooth-räckvidd — ingen tidigare parkoppling krävs, men Bluetooth måste vara aktiverat på datorn. För attacken räcker det att känna till MAC-adressen på offerets enhet, vilken kan bestämmas genom sniffing eller, på vissa enheter, beräknas baserat på MAC-adressen för Wi-Fi.

Den första sårbarheten (CVE-2022-42896) orsakas av ett anrop till ett redan frigjort minnesområde (use-after-free) i implementeringen av funktionerna l2cap_connect och l2cap_le_connect_req — efter att en kanal skapats via callback-anropet new_connection, sattes ingen låsning, men en timer (__set_chan_timer) konfigurerades, som vid tidsgränsen anropar funktionen l2cap_chan_timeout och rensar kanalen utan att kontrollera om arbetet med kanalen avslutats i funktionerna l2cap_le_connect*.

Som standard är tidsgränsen 40 sekunder och det antogs att ett race-tillstånd inte skulle kunna uppstå med en sådan försening, men det visade sig att på grund av ett annat fel i SMP-hanteraren kan en omedelbar anrop av timern uppnås och ett race-tillstånd nås. Problemet i l2cap_le_connect_req kan leda till läckage av kärkod och i l2cap_connect till överskrivning av minnesinnehåll och exekvering av egen kod. Det första attackalternativet kan utföras med Bluetooth LE 4.0 (sedan 2009), det andra med Bluetooth BR/EDR 5.2 (sedan 2020).

Den andra sårbarheten (CVE-2022-42895) orsakas av läckage av kvarvarande data från minnet i funktionen l2cap_parse_conf_req, vilket kan användas för att fjärråtkomst till information om pekare till kärnstrukturer genom att skicka speciellt utformade konfigurationsförfrågningar. I funktionen l2cap_parse_conf_req användes strukturen l2cap_conf_efs, för vilken ingen preliminär initiering av den allokerade minnet gjordes, och genom manipulation av flaggan FLAG_EFS_ENABLE kunde man få gamla data från stacken att inkluderas i paketet. Problemet uppträder endast i system där kärnan är kompilerad med alternativet CONFIG_BT_HS (standard är avstängt, men aktiverat i vissa distributioner, exempelvis Ubuntu). För att en attack ska lyckas krävs även att parametern HCI_HS_ENABLED sätts till true via det styrande gränssnittet (ovanligt används inte).

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster