EĐPF alamsĂŒsteemis, mis vĂ”imaldab kĂ€ivitada töötlejaid jĂ€lgimiseks, alamsĂŒsteemide töö analĂŒĂŒsimiseks ja liikluse juhtimiseks, mis töötavad Linuxi kĂ€rnes spetsiaalses virtuaalmasinas JIT-is, on tuvastatud haavatavus (CVE-2021-29154), mis vĂ”imaldab kohalikel kasutajatel saavutada oma koodi kĂ€ivitamist kernitasemel. Probleem ilmneb kuni versioonini 5.11.12 (kaasa arvatud) ja ei ole veel parandatud distributsioonides (Debian, Ubuntu, RHEL, Fedora, SUSE, Arch). Parandus on saadaval plaastri kujul.
RĂŒndajad, kes tuvastasid haavatavuse, on vĂ€itnud, et nad suudavad vĂ€lja töötada töötava prototĂŒĂŒbi eksploitiks 32- ja 64-bitistele x86 sĂŒsteemidele, mida saavad kasutada mittepriviligeeritud kasutajad. Samas mĂ€rgib ettevĂ”te Red Hat, et probleemi oht sĂ”ltub eBPF sĂŒsteemi kutse kergesti kĂ€ttesaadavusest kasutajale. NĂ€iteks RHEL-is ja enamikus teistes Linuxi distributsioonides default-konfiguratsioonis saab haavatavust kasutada, kui BPF JIT on sisse lĂŒlitatud ja kasutajal on CAP_SYS_ADMIN Ă”igused. Kaitsemeetmena soovitatakse BPF JIT vĂ€lja lĂŒlitada kĂ€suga: echo 0 > \/proc\/sys\/net\/core\/bpf_jit_enable
Probleem on pÔhjustatud vea tÔttu, mis arvutab harude kÀskude offseti JIT-komplekteerimise protsessis. EelkÔige ei arvestata, et offset vÔib muutuda optimeerimise etapis. Antud puudujÀÀk vÔib vÔimaldada ebanormaalsete masinkoodide genereerimist ja nende tÀitmist kernitasemel.
MĂ€rkimisvÀÀrne on see, et see ei ole ainus haavatavus eBPF alamsĂŒsteemis hiljuti. MĂ€rtsi lĂ”pus avastati kĂ€rnest veel kaks haavatavust (CVE-2020-27170, CVE-2020-27171), mis vĂ”imaldavad kasutada eBPF-d, et ĂŒletada Spectre-klassist haavatavuste kaitset, mis vĂ”imaldavad mÀÀrata kĂ€rne mĂ€lu sisu, luues tingimusi teatud operatsioonide spekuleerimiseks tĂ€itmiseks. Spectre'i rĂŒnnaku jaoks on vajalik, et privileegitud kood sisaldaks teatud kĂ€surea jada, mis viib spekulatiivse kĂ€sutĂ€ide kĂ€ivitamiseni. EĐPF-s on leitud mitmeid viise sarnaste kĂ€skude genereerimiseks, manipuleerides BPF-programmide kĂ€itamiseks edastatavate graafikutega.
CVE-2020-27170 haavatavus tuleneb BPF-i valideerijas olevatest pointerite kĂ€sitsemistest, mis pĂ”hjustavad spekulatiivseid operatsioone mĂ€lupiiridest vĂ€ljapoole. CVE-2020-27171 haavatavus on seotud tĂ€isarvuaritmeetika (integer underflow) veaga pointerite kĂ€sitsemisel, mis viib spekulatiivse juurdepÀÀsuni andmetele vĂ€ljaspool puhver. Need probleemid on juba lahendatud tuumavĂ€ljaannetes 5.11.8, 5.10.25, 5.4.107, 4.19.182 ja 4.14.227 ning sisaldusid enamikus Linuxi jaotustes tuumauuendustes. Uurijad on valmistanud ette eksperimenteerimise prototĂŒĂŒbi, mis vĂ”imaldab mitteprivileegitud kasutajal andmeid tuumamĂ€lust vĂ€lja vĂ”tta.
Allikas: opennet.ru
