Zraniteľnosť v subsystéme eBPF, ktorá umožňuje vykonanie kódu na úrovni jadra Linux

V subsystéme eBPF, ktorý umožňuje spúšťanie spracovateľov v jadre Linux v špeciálnej virtuálnej mašine s JIT, bola zistená zraniteľnosť (CVE-2021-4204), ktorá umožňuje lokálnemu neoprávnenému používateľovi získať zvýšené oprávnenia a spustiť svoj kód na úrovni jadra Linux. Problém sa prejavuje od jadra Linux 5.8 a zatiaľ zostáva neopravene (týka sa aj vydania 5.16). Stav vytvárania aktualizácií na odstránenie problému v distribúciách je možné sledovať na týchto stránkach: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Bolo nahlásené vytvorenie fungujúceho exploit, ktorý plánujú zverejniť 18. januára (používateľom a vývojárom bola poskytnutá jedna týždeň na odstránenie zraniteľnosti).

Zraniteľnosť je spôsobená nesprávnou kontrolou prenášaných eBPF programov na vykonanie. Subsystém eBPF poskytuje pomocné funkcie, ktorých správnosť používania kontroluje špeciálny overovač. Niektoré funkcie si vyžadujú prenos hodnoty PTR_TO_MEM ako argumentu a na zabránenie možným pretečeniam buffera musí overovač poznať veľkosť pamäti súvisiacej s argumentom. Pre funkcie bpf_ringbuf_submit a bpf_ringbuf_discard neboli údaje o veľkosti prenesenej pamäte oznámené overovačovi, čo mohlo byť využité na prepísanie oblastí pamäte mimo buffera pri vykonávaní špeciálne upraveného eBPF kódu.

Na vykonanie útoku musí mať používateľ možnosť načítať svoj BPF program, a mnoho nových distribúcií Linuxu túto možnosť predvolene blokuje (taktiež je neoprávnený prístup k eBPF od verzie 5.16 predvolene zakázaný v samotnom jadre). Napríklad, zraniteľnosť môže byť zneužitá v predvoľbe v Ubuntu 20.04 LTS, ale v prostrediach Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 a Fedora 33 sa prejavuje len v prípade, že administrátor nastavil parameter kernel.unprivileged_bpf_disabled na hodnotu 0. Ako obchádzanie blokovania zraniteľnosti môžete zakázať vykonávanie BPF programov neoprávneným používateľom príkazom „sysctl -w kernel.unprivileged_bpf_disabled=1“.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster