Linux kernelaren eBPF azpisistemako ahultasunak

Ahultasun bat (CVE-2021-29154) identifikatu da eBPF azpisisteman, zeinak trazatzeko, azpisistemen funtzionamendua aztertzeko eta trafikoa kudeatzeko kudeatzaileak exekutatzeko aukera ematen duena, Linux nukleoaren barruan exekutaturiko JIT duen makina birtual berezi batean, eta horri esker. tokiko erabiltzaileak bere kodea kernel mailan exekutatzeko. Arazoa 5.11.12 kaleratzera arte agertzen da (barne) eta oraindik ez da konpondu banaketetan (Debian, Ubuntu, RHEL, Fedora, SUSE, Arch). Konponketa adabaki gisa eskuragarri dago.

Ahultasuna identifikatu duten ikertzaileen arabera, 32 eta 64 biteko x86 sistemetarako ustiaketa-prototipo bat garatu ahal izan dute, pribilegiorik gabeko erabiltzaile batek erabil dezakeena. Hala ere, Red Hat-ek adierazi du arazoaren larritasuna eBPF sistema-deia erabiltzailearentzat eskuragarri dagoen ala ezaren araberakoa dela. Adibidez, RHEL eta beste Linux banaketa gehienetan konfigurazio lehenetsian, ahultasuna ustiatu daiteke BPF JIT gaituta badago eta erabiltzaileak CAP_SYS_ADMIN eskubideak baditu. Konponbide gisa, BPF JIT desgaitzea gomendatzen da komandoa erabiliz: echo 0 > /proc/sys/net/core/bpf_jit_enable

Arazoa JIT konpilatzailearen makina kodea sortzeko prozesuan adar-argibideen desplazamendua kalkulatzean akats batek eragiten du. Bereziki, adar-argibideak sortzerakoan, ez da kontuan hartzen optimizazio fasetik igaro ondoren offset-a alda daitekeenik. Akats hau makina-kode anomalia sortzeko eta kernel mailan exekutatzeko erabil daiteke.

Azpimarratzekoa da hori ez dela azkenaldian eBPF azpisistemako ahultasun bakarra. Martxoaren amaieran, beste bi ahultasun identifikatu ziren nukleoan (CVE-2020-27170, CVE-2020-27171), eta eBPF erabiltzea posible da Spectre klaseko ahultasunen aurkako babesa saihesteko, kernelaren memoriaren edukia zehaztea ahalbidetzen dutenak. zenbait eragiketa espekulatiboki gauzatzeko baldintzak sortzearen ondorioz . Spectreren erasoak kode pribilegiatuan komando-sekuentzia jakin bat egotea eskatzen du, instrukzioen exekuzio espekulatibora eramaten duena. eBPF-n, exekuziorako transmititutako BPF programekin manipulazioen bidez argibideak sortzeko hainbat modu aurkitu dira.

CVE-2020-27170 ahultasuna BPF egiaztatzailearen erakusleen manipulazioak eragiten du, eta horrek espekulazio-eragiketak buffer-mugetatik kanpoko eremu batera sartzea eragiten du. CVE-2020-27171 ahultasuna erakusleekin lan egitean zenbaki osoen azpiegitura-errore baten ondoriozkoa da, eta bufferetik kanpoko datuetarako sarbide espekulatiboa eragiten du. Arazo hauek dagoeneko konpondu dira kernelaren 5.11.8, 5.10.25, 5.4.107, 4.19.182 eta 4.14.227 kernel-adierazpenetan, eta Linux banaketa gehienetarako kernelaren eguneraketetan ere sartu dira. Ikertzaileek ustiapen prototipo bat prestatu dute, pribilegiorik gabeko erabiltzaile bati kerneleko memoriatik datuak ateratzeko aukera ematen diona.

Iturria: opennet.ru

Gehitu iruzkin berria