Vundeblecoj en la Linukso-kerno malproksime ekspluatitaj per Bluetooth

Vulnerabileco (CVE-2022-42896) estis identigita en la Linukso-kerno, kiu eble povas esti uzita por organizi malproksiman kodekzekuton ĉe la kernelnivelo sendante speciale dizajnitan L2CAP-pakaĵeton per Bluetooth. Krome, alia simila problemo estis identigita (CVE-2022-42895) en la pritraktilo L2CAP, kiu povas konduki al elfluo de kernmemorenhavo en pakaĵoj kun agordaj informoj. La unua vundebleco aperas ekde aŭgusto 2014 (kerno 3.16), kaj la dua ekde oktobro 2011 (kerno 3.0). La vundeblecoj estis traktitaj en Linuksaj kernaj eldonoj 6.1.0, 6.0.8, 4.9.333, 4.14.299, 4.19.265, 5.4.224, 5.10.154, kaj 5.15.78. Vi povas spuri la korektojn en distribuoj sur la jenaj paĝoj: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Por pruvi la eblecon fari foran atakon, prototipaj ekspluatoj estis publikigitaj, kiuj funkcias sur Ubuntu 22.04. Por fari atakon, la atakanto devas esti ene de Bluetooth-intervalo—antaŭparigo ne estas postulata, sed Bluetooth devas esti aktiva en la komputilo. Por atako, sufiĉas scii la MAC-adreson de la aparato de la viktimo, kiu povas esti determinita per flarado aŭ, ĉe iuj aparatoj, kalkulita surbaze de la WiFi-MA-adreso.

La unua vundebleco (CVE-2022-42896) estas kaŭzita de aliro al jam liberigita memorareo (use-after-free) en la efektivigo de la funkcioj l2cap_connect kaj l2cap_le_connect_req - post kreado de kanalo per la new_connection-revoko, seruro ne estis agordita. por ĝi, sed temporizilo estis agordita (__set_chan_timer ), post eksvalidiĝo de la tempodaŭro, vokante la l2cap_chan_timeout-funkcion kaj purigante la kanalon sen kontroli la kompletigon de laboro kun la kanalo en la l2cap_le_connect* funkcioj.

La defaŭlta paŭzo estas 40 sekundoj kaj oni supozis, ke vetkura kondiĉo ne povus okazi kun tia prokrasto, sed montriĝis, ke pro alia eraro en la SMP-traktilo, eblis atingi tujan vokon al la tempigilo kaj atingi raskondiĉo. Problemo en l2cap_le_connect_req povas konduki al kerna memorfuko, kaj en l2cap_connect ĝi povas konduki al anstataŭigo de la enhavo de memoro kaj ekzekuti ĝian kodon. La unua speco de atako povas esti farita per Bluetooth LE 4.0 (ekde 2009), la dua uzante Bluetooth BR/EDR 5.2 (ekde 2020).

La dua vundebleco (CVE-2022-42895) estas kaŭzita de resta memorfuzo en la funkcio l2cap_parse_conf_req, kiu povas esti uzata por malproksime akiri informojn pri montriloj al kernaj strukturoj sendante speciale kreitajn agordajn petojn. La funkcio l2cap_parse_conf_req uzis la strukturon l2cap_conf_efs, por kiu la asignita memoro ne estis antaŭkomencigita kaj manipulante la flagon FLAG_EFS_ENABLE eblis inkluzivi malnovajn datumojn de la stako en la pakaĵeto. La problemo nur aperas ĉe sistemoj, kie la kerno estas konstruita kun la opcio CONFIG_BT_HS (malŝaltita defaŭlte, sed ebligita ĉe iuj distribuoj, kiel Ubuntu). Sukcesa atako ankaŭ postulas agordi la parametron HCI_HS_ENABLED per la administrada interfaco al vera (ne uzata defaŭlte).

fonto: opennet.ru

Aldoni komenton