Kjernesårbarheter Linux, fjernstyrt via Bluetooth

I kjernen Linux En sårbarhet (CVE-2022-42896) er identifisert som potensielt kan brukes til å kjøre kjernenivåkode eksternt ved å sende en spesiallaget L2CAP-pakke over Bluetooth. Et lignende problem (CVE-2022-42895) er også identifisert i L2CAP-håndtereren, som kan føre til en kjerneminnelekkasje i konfigurasjonspakker. Den første sårbarheten har vært tilstede siden august 2014 (kernel 3.16), og den andre siden oktober 2011 (kernel 3.0). Sårbarhetene er rettet i kjerneutgivelser. Linux 6.1.0, 6.0.8, 4.9.333, 4.14.299, 4.19.265, 5.4.224, 5.10.154 og 5.15.78. Du kan spore rettelsen i distribusjonene på følgende sider: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

For å demonstrere muligheten for å utføre et fjernangrep, er det publisert prototyper av angrep som fungerer i Ubuntu 22.04. april. For å utføre angrepet må angriperen være innenfor Bluetooth-rekkevidde – forhåndstilkobling er ikke nødvendig, men Bluetooth må være aktiv på datamaskinen. Angrepet krever kjennskap til offerets enhets MAC-adresse, som kan bestemmes ved sniffing eller, på noen enheter, beregnes fra Wi-Fi-MAC-adressen.

Det første sikkerhetsproblemet (CVE-2022-42896) er forårsaket av en bruk-etter-frigjøring-tilgang til et allerede frigjort minneområde i implementeringen av funksjonene l2cap_connect og l2cap_le_connect_req. Etter at en kanal ble opprettet via new_connection-tilbakekallet, ble det ikke satt en lås for den, men en timer (__set_chan_timer) ble satt, som, ved utløp av tidsavbruddet, kalte l2cap_chan_timeout-funksjonen og tømte kanalen uten å sjekke om arbeidet med kanalen i l2cap_le_connect*-funksjonene var fullført.

Standard tidsavbrudd er 40 sekunder, og det ble antatt at en kappløpstilstand ikke kunne oppstå med en slik forsinkelse. Det viste seg imidlertid at en annen feil i SMP-håndtereren kunne føre til at timeren ble kalt umiddelbart, noe som resulterte i en kappløpstilstand. En feil i l2cap_le_connect_req kan føre til en minnelekkasje i kjernen, mens den i l2cap_connect kan overskrive minneinnhold og kjøre uspesifisert kode. Den første angrepsvarianten kan utføres ved hjelp av Bluetooth LE 4.0 (siden 2009), og den andre ved hjelp av Bluetooth BR/EDR 5.2 (siden 2020).

Det andre sikkerhetsproblemet (CVE-2022-42895) er forårsaket av en gjenværende minnelekkasje i l2cap_parse_conf_req-funksjonen, som kan brukes til å hente informasjon om pekere til kjernestrukturer eksternt ved å sende spesiallagde konfigurasjonsforespørsler. l2cap_parse_conf_req-funksjonen brukte l2cap_conf_efs-strukturen, der det tildelte minnet ikke var forhåndsinitialisert, og ved å manipulere FLAG_EFS_ENABLE-flagget var det mulig å inkludere gamle data fra stakken i pakken. Problemet oppstår bare på systemer der kjernen er kompilert med CONFIG_BT_HS-alternativet (deaktivert som standard, men aktivert i noen distribusjoner, for eksempel UbuntuEt vellykket angrep krever også at HCI_HS_ENABLED-parameteren settes til sann (ikke brukt som standard) via kontrollgrensesnittet.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig webhotell med DDoS-beskyttelse, VPS VDS-servere | ProHoster