Athari katika mfumo mdogo wa eBPF wa Linux kernel

Udhaifu (CVE-2021-29154) ulitambuliwa katika mfumo mdogo wa eBPF, ambayo hukuruhusu kuendesha vidhibiti kwa ufuatiliaji, kuchambua utendakazi wa mifumo ndogo na kudhibiti trafiki, inayotekelezwa ndani ya kernel ya Linux kwenye mashine maalum ya kawaida na JIT, ambayo inaruhusu mtumiaji wa ndani kufikia utekelezaji wa nambari zao katika kiwango cha kernel. Tatizo linaonekana hadi kutolewa kwa 5.11.12 (pamoja) na bado haijawekwa katika usambazaji (Debian, Ubuntu, RHEL, Fedora, SUSE, Arch). Urekebishaji unapatikana kama kiraka.

Kulingana na watafiti waliogundua udhaifu huo, waliweza kutengeneza mfano wa kufanya kazi wa unyonyaji kwa mifumo ya 32- na 64-bit x86, ambayo inaweza kutumika na mtumiaji asiye na upendeleo. Hata hivyo, Red Hat inabainisha kuwa uzito wa tatizo unategemea ikiwa simu ya mfumo wa eBPF inaweza kufikiwa na mtumiaji. Kwa mfano, kwenye RHEL na usambazaji mwingine wa Linux katika usanidi chaguo-msingi, athari inaweza kutumika ikiwa BPF JIT imewashwa na mtumiaji ana haki za CAP_SYS_ADMIN. Kama suluhisho, inashauriwa kuzima BPF JIT kwa kutumia amri: echo 0 > /proc/sys/net/core/bpf_jit_enable

Shida husababishwa na hitilafu katika kuhesabu urekebishaji kwa maagizo ya tawi wakati wa mchakato wa kutengeneza nambari ya mashine ya mkusanyaji wa JIT. Hasa, wakati wa kutoa maagizo ya tawi, haizingatii kuwa kukabiliana kunaweza kubadilika baada ya kupitia hatua ya uboreshaji. Hitilafu hii inaweza kutumika kutengeneza msimbo wa mashine isiyo ya kawaida na kuitekeleza katika kiwango cha kernel.

Ni vyema kutambua kwamba hii sio hatari pekee katika mfumo mdogo wa eBPF hivi majuzi. Mwisho wa Machi, udhaifu mwingine mbili ulitambuliwa kwenye kernel (CVE-2020-27170, CVE-2020-27171), na kuifanya iwezekane kutumia eBPF kupitisha ulinzi dhidi ya udhaifu wa darasa la Specter, ambayo inaruhusu kuamua yaliyomo kwenye kumbukumbu ya kernel. kama matokeo ya kuunda hali za utekelezaji wa kubahatisha wa shughuli fulani. Shambulio la Specter linahitaji uwepo wa mlolongo fulani wa amri katika msimbo wa upendeleo ambao husababisha utekelezaji wa kubahatisha wa maagizo. Katika eBPF, njia kadhaa zimepatikana ili kutoa maagizo kama haya kwa njia ya udanganyifu na programu za BPF zinazopitishwa kwa utekelezaji.

Athari za CVE-2020-27170 husababishwa na upotoshaji wa viashiria katika kithibitishaji cha BPF ambacho husababisha shughuli za kubahatisha kufikia eneo lililo nje ya mipaka ya bafa. Athari ya CVE-2020-27171 inatokana na hitilafu kamili ya mtiririko wa chini wakati wa kufanya kazi na viashiria, na kusababisha ufikiaji wa kubahatisha wa data nje ya bafa. Matatizo haya tayari yamerekebishwa katika matoleo ya kernel 5.11.8, 5.10.25, 5.4.107, 4.19.182 na 4.14.227, na pia yamejumuishwa katika masasisho ya kernel kwa usambazaji mwingi wa Linux. Watafiti wameandaa unyonyaji wa mfano ambao unaruhusu mtumiaji asiye na bahati kutoa data kutoka kwa kumbukumbu ya kernel.

Chanzo: opennet.ru

Kuongeza maoni