Kwesbaarhede in die Linux-kern word op afstand uitgebuit via Bluetooth

'n Kwesbaarheid (CVE-2022-42896) is in die Linux-kern geïdentifiseer, wat moontlik gebruik kan word om afgeleë kode-uitvoering op kernvlak te organiseer deur 'n spesiaal ontwerpte L2CAP-pakkie via Bluetooth te stuur. Daarbenewens is nog 'n soortgelyke probleem (CVE-2022-42895) in die L2CAP-hanteerder geïdentifiseer, wat kan lei tot lekkasie van kerngeheue-inhoud in pakkies met konfigurasie-inligting. Die eerste kwesbaarheid verskyn sedert Augustus 2014 (kern 3.16), en die tweede sedert Oktober 2011 (kern 3.0). Die kwesbaarhede is aangespreek in Linux-kernvrystellings 6.1.0, 6.0.8, 4.9.333, 4.14.299, 4.19.265, 5.4.224, 5.10.154 en 5.15.78. U kan die regstellings in verspreidings op die volgende bladsye naspoor: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Om die moontlikheid te demonstreer om 'n afgeleë aanval uit te voer, is prototipe-uitbuitings gepubliseer wat op Ubuntu 22.04 werk. Om 'n aanval uit te voer, moet die aanvaller binne Bluetooth-bereik wees—voorafparing is nie nodig nie, maar Bluetooth moet aktief op die rekenaar wees. Vir 'n aanval is dit genoeg om die MAC-adres van die slagoffer se toestel te ken, wat bepaal kan word deur te snuif of, op sommige toestelle, bereken op grond van die Wi-Fi MAC-adres.

Die eerste kwesbaarheid (CVE-2022-42896) word veroorsaak deur toegang tot 'n reeds vrygestelde geheue area (gebruik-na-vry) in die implementering van die l2cap_connect en l2cap_le_connect_req funksies - na die skep van 'n kanaal deur die new_connection terugbel, is 'n slot nie gestel nie daarvoor, maar 'n timer is ingestel (__set_chan_timer ), na verstryking van die time-out, wat die l2cap_chan_timeout-funksie oproep en die kanaal skoonmaak sonder om die voltooiing van werk met die kanaal in die l2cap_le_connect*-funksies na te gaan.

Die verstek tydsverloop is 40 sekondes en daar is aanvaar dat 'n wedlooptoestand nie met so 'n vertraging kon voorkom nie, maar dit het geblyk dat dit as gevolg van 'n ander fout in die SMP-hanteerder moontlik was om 'n onmiddellike oproep na die timer te verkry en 'n ras toestand. 'n Probleem in l2cap_le_connect_req kan lei tot 'n kerngeheuelek, en in l2cap_connect kan dit lei tot die oorskryf van die inhoud van geheue en die uitvoering daarvan. Die eerste tipe aanval kan uitgevoer word met Bluetooth LE 4.0 (sedert 2009), die tweede wanneer Bluetooth BR/EDR 5.2 (sedert 2020) gebruik word.

Die tweede kwesbaarheid (CVE-2022-42895) word veroorsaak deur 'n oorblywende geheuelek in die l2cap_parse_conf_req-funksie, wat gebruik kan word om op afstand inligting oor wysers na kernstrukture te bekom deur spesiaal vervaardigde konfigurasieversoeke te stuur. Die l2cap_parse_conf_req funksie het die l2cap_conf_efs struktuur gebruik, waarvoor die toegekende geheue nie vooraf geïnitialiseer is nie en deur die FLAG_EFS_ENABLE vlag te manipuleer was dit moontlik om ou data van die stapel in die pakkie in te sluit. Die probleem verskyn slegs op stelsels waar die kern gebou is met die CONFIG_BT_HS-opsie (by verstek gedeaktiveer, maar geaktiveer op sommige verspreidings, soos Ubuntu). 'n Suksesvolle aanval vereis ook dat die HCI_HS_ENABLED-parameter via die bestuurskoppelvlak op waar gestel word (nie by verstek gebruik nie).

Bron: opennet.ru

Voeg 'n opmerking