Vulnerabilità in u kernel Linux sfruttate remotamente via Bluetooth

Una vulnerabilità (CVE-2022-42896) hè stata identificata in u kernel Linux, chì pò esse potenzialmente utilizatu per urganizà l'esekzione di codice remota à u livellu di u kernel mandendu un pacchettu L2CAP apposta per via Bluetooth. Inoltre, un altru prublema simili hè statu identificatu (CVE-2022-42895) in u gestore L2CAP, chì pò purtà à a fuga di u cuntenutu di memoria di u kernel in pacchetti cù informazioni di cunfigurazione. A prima vulnerabilità hè apparsu da l'aostu 2014 (kernel 3.16), è a seconda da ottobre 2011 (kernel 3.0). E vulnerabilità sò state affrontate in i versioni di u kernel Linux 6.1.0, 6.0.8, 4.9.333, 4.14.299, 4.19.265, 5.4.224, 5.10.154, è 5.15.78. Pudete seguità e correzioni in distribuzioni nantu à e seguenti pagine: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Per dimustrà a pussibilità di realizà un attaccu remota, i sfruttamenti prototipi sò stati publicati chì travaglianu in Ubuntu 22.04. Per fà un attaccu, l'attaccante deve esse in a gamma Bluetooth - ùn hè micca necessariu pre-pairing, ma Bluetooth deve esse attivu in l'urdinatore. Per un attaccu, hè abbastanza per sapè l'indirizzu MAC di u dispusitivu di a vittima, chì pò esse determinatu da sniffing o, in certi dispositi, calculatu basatu annantu à l'indirizzu MAC Wi-Fi.

A prima vulnerabilità (CVE-2022-42896) hè causata da l'accessu à una zona di memoria già liberata (usu-dopu-free) in l'implementazione di e funzioni l2cap_connect è l2cap_le_connect_req - dopu avè creatu un canale attraversu a callback new_connection, un serratura ùn hè statu stabilitu. per questu, ma un cronometru hè statu stabilitu (__set_chan_timer ), dopu a scadenza di u timeout, chjamà a funzione l2cap_chan_timeout è sguassate u canali senza cuntrollà u cumpletu di u travagliu cù u canali in e funzioni l2cap_le_connect *.

U timeout predeterminatu hè di 40 seconde è si supponeva chì una cundizione di razza ùn puderia micca accade cun un tali ritardu, ma hè risultatu chì per via di un altru errore in u gestore SMP, era pussibule di ottene una chjama immediata à u timer è ottene un cundizione di corsa. Un prublema in l2cap_le_connect_req pò guidà à una fuga di memoria di u kernel, è in l2cap_connect pò purtà à soprascrive u cuntenutu di a memoria è esecutà u so codice. U primu tipu d'attaccu pò esse realizatu utilizendu Bluetooth LE 4.0 (dapoi u 2009), u sicondu cù Bluetooth BR / EDR 5.2 (dapoi u 2020).

A seconda vulnerabilità (CVE-2022-42895) hè causata da una perdita di memoria residuale in a funzione l2cap_parse_conf_req, chì pò esse usata per ottene remotamente informazioni nantu à i punteri à e strutture di u kernel mandendu richieste di cunfigurazione apposta. A funzione l2cap_parse_conf_req hà utilizatu a struttura l2cap_conf_efs, per quale a memoria assignata ùn era micca pre-inizializatu è manipulendu a bandiera FLAG_EFS_ENABLE era pussibule include data antica da a pila in u pacchettu. U prublema apparisce solu nantu à i sistemi induve u kernel hè custruitu cù l'opzione CONFIG_BT_HS (disabilitatu per difettu, ma attivatu in certi distribuzioni, cum'è Ubuntu). Un attaccu successu richiede ancu di stabilisce u paràmetru HCI_HS_ENABLED via l'interfaccia di gestione à veru (micca utilizatu per difettu).

Source: opennet.ru

Add a comment