Ang mga kahuyangan sa Linux kernel layo nga gipahimuslan pinaagi sa Bluetooth

Usa ka kahuyang (CVE-2022-42896) ang giila sa Linux kernel, nga posibleng magamit sa pag-organisar sa remote code execution sa kernel level pinaagi sa pagpadala ug espesyal nga gidisenyo nga L2CAP packet pinaagi sa Bluetooth. Dugang pa, laing susama nga isyu ang giila (CVE-2022-42895) sa L2CAP handler, nga mahimong mosangpot sa leakage sa kernel memory sulod sa mga packet nga adunay impormasyon sa configuration. Ang una nga kahuyangan nagpakita sukad Agosto 2014 (kernel 3.16), ug ang ikaduha sukad Oktubre 2011 (kernel 3.0). Ang mga kahuyangan natubag sa Linux kernel releases 6.1.0, 6.0.8, 4.9.333, 4.14.299, 4.19.265, 5.4.224, 5.10.154, ug 5.15.78. Mahimo nimong masubay ang mga pag-ayo sa mga distribusyon sa mosunod nga mga panid: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Aron ipakita ang posibilidad sa paghimo sa usa ka hilit nga pag-atake, ang mga pagpahimulos sa prototype gipatik nga nagtrabaho sa Ubuntu 22.04. Aron makahimo og usa ka pag-atake, ang tig-atake kinahanglang anaa sa sulod sa Bluetooth rangeβ€”dili kinahanglan ang pre-pairing, apan ang Bluetooth kinahanglang aktibo sa computer. Alang sa usa ka pag-atake, igo na nga mahibal-an ang MAC address sa device sa biktima, nga mahimong matino pinaagi sa pag-sniff o, sa pipila ka mga device, kalkulado base sa Wi-Fi MAC address.

Ang una nga kahuyang (CVE-2022-42896) tungod sa pag-access sa usa ka libre na nga lugar sa panumduman (paggamit-pagkahuman-libre) sa pagpatuman sa l2cap_connect ug l2cap_le_connect_req function - pagkahuman sa paghimo og channel pinaagi sa new_connection callback, ang usa ka lock wala gibutang. alang niini, apan usa ka timer ang gibutang (__set_chan_timer), sa pag-expire sa timeout, pagtawag sa l2cap_chan_timeout function ug paghawan sa channel nga walay pagsusi sa pagkompleto sa trabaho uban sa channel sa l2cap_le_connect* functions.

Ang default nga timeout mao ang 40 segundos ug gituohan nga ang usa ka kahimtang sa lumba dili mahitabo sa ingon nga paglangan, apan kini nahimo nga tungod sa lain nga sayup sa SMP handler, posible nga makab-ot ang usa ka dali nga tawag sa timer ug makab-ot ang usa ka kahimtang sa lumba. Ang usa ka problema sa l2cap_le_connect_req mahimong mosangpot sa usa ka kernel memory leak, ug sa l2cap_connect kini mahimong mosangpot sa pag-overwrite sa mga sulod sa memorya ug sa pagpatuman sa code niini. Ang una nga tipo sa pag-atake mahimong himuon gamit ang Bluetooth LE 4.0 (sukad sa 2009), ang ikaduha kung gigamit ang Bluetooth BR/EDR 5.2 (sukad sa 2020).

Ang ikaduha nga kahuyang (CVE-2022-42895) tungod sa usa ka nahabilin nga memory leak sa l2cap_parse_conf_req function, nga magamit sa layo nga pagkuha sa kasayuran bahin sa mga pointer sa mga istruktura sa kernel pinaagi sa pagpadala sa mga hangyo sa pag-configure nga espesyal nga gihimo. Ang l2cap_parse_conf_req function migamit sa l2cap_conf_efs nga estraktura, diin ang gigahin nga panumduman wala pa gisugdan ug pinaagi sa pagmaniobra sa FLAG_EFS_ENABLE nga bandila posible nga maapil ang daan nga datos gikan sa stack sa pakete. Ang problema makita lamang sa mga sistema diin ang kernel gitukod gamit ang CONFIG_BT_HS nga opsyon (gi-disable pinaagi sa default, apan gipagana sa pipila ka mga distribusyon, sama sa Ubuntu). Ang usa ka malampuson nga pag-atake nagkinahanglan usab sa pag-set sa HCI_HS_ENABLED parameter pinaagi sa management interface ngadto sa tinuod (dili gigamit sa default).

Source: opennet.ru

Idugang sa usa ka comment