Vulnerabilitetet në nën-sistemin e eBPF të bërthamës Linux.

Në nën-sistemin e eBPF, i cili lejon ekzekutimin e trajtuesve për gjurmimin, analizimin e funksionimit të nën-sistemeve dhe menaxhimin e trafikut, që realizohen brenda kernelit të Linux në një makinë virtuale speciale me JIT, është zbuluar një vulnerabilitet (CVE-2021-29154), i cili lejon një përdorues lokal të arrijë ekzekutimin e kodit të tij në nivelin e kernelit. Problemi shfaqet deri në versionin 5.11.12 (përfshirë) dhe ende nuk është rregulluar në distro (Debian, Ubuntu, RHEL, Fedora, SUSE, Arch). Një rregullim është në dispozicion si një patch.

Sipas deklaratave të hulumtuesve që zbuluan vulnerabilitetin, ata arritën të zhvillojnë një prototip funksional të eksploitit për sistemet 32- dhe 64-bit x86, i cili mund të përdoret nga një përdorues me privilegje të kufizuara. Në këtë kontekst, kompania Red Hat vë në dukje se rreziku i problemit varet nga disponueshmëria e sistemit të thirrjes eBPF për përdoruesin. Për shembull, në RHEL dhe shumicën e distro të tjera të Linux në konfigurimin e tyre bazë, vulnerabiliteti mund të shfrytëzohet nëse BPF JIT është aktiv dhe përdoruesi ka të drejtat CAP_SYS_ADMIN. Si masë mbrojtëse, rekomandohet të çaktivizohet BPF JIT duke përdorur komandën: echo 0 > /proc/sys/net/core/bpf_jit_enable

Problemi shkaktohet nga një gabim në llogaritjen e zhvendosjes për komandat e degesës në procesin e gjenerimit të kodit makinerik nga kompajleri JIT. Kështu, gjatë gjenerimit të instruktivave të degesës nuk merret parasysh se zhvendosja mund të ndryshojë pas kalimit në fazën e optimizimit. Kjo mangësi mund të përdoret për të formuar kod makinerik anormal dhe për ta ekzekutuar atë në nivelin e kernelit.

E rëndësishme është se kjo nuk është e vetmja vulnerabilitet në nën-sistemin e eBPF gjatë këtij kohë. Në fund të marsit, në kernel u identifikuan edhe dy vulnerabilitete të tjera (CVE-2020-27170, CVE-2020-27171), që ofrojnë mundësinë e përdorimit të eBPF për të anashkaluar mbrojtjen nga vulnerabilitetet e klasës Spectre, të cilat lejojnë përcaktimin e përmbajtjes së memories së kernelit si rezultat i krijimit të kushteve për ekzekutimin spekulativ të operacioneve të caktuara. Për një sulm Spectre kërkohet që në kodin me privilegje të ketë një sekuencë të caktuar komandash që çon në ekzekutimin spekulativ të instruksioneve. Në eBPF janë gjetur disa mënyra për të gjeneruar këto instruksione përmes manipulimeve me programet BPF që dërgohen për ekzekutim.

Vulnerabiliteti CVE-2020-27170 shkaktohet nga manipulimet me treguesit në verifikuesin BPF, që shkaktojnë operacione spekulative për qasjen në zona jashtë kufijve të buffer-it. Vulnerabiliteti CVE-2020-27171 lidhet me një gabim në aritmetiken e numrave të plotë (integer underflow) gjatë punës me treguesit, që shkakton qasje spekulative në të dhëna jashtë buffer-it. Këto probleme tashmë janë rregulluar në versionet e kernelit 5.11.8, 5.10.25, 5.4.107, 4.19.182 dhe 4.14.227, dhe janë përfshirë në përditësimet e kernelit të shumicës së distro të Linux. Hulumtuesit kanë përgatitur një prototip eksploiti, i cili lejon një përdorues të pafavorshëm të nxjerrë të dhëna nga memoria e kernelit.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster