Zistili zraniteľnosť v subsystéme Linux eBPF

To nedávno prelomili správy bola zistená zraniteľnosť (CVE-2021-29154) v subsystéme eBPF, ktorý sUmožňuje vám spustiť sledovanie, analýzu subsystému a radiče riadenia dopravy beží vo vnútri jadra Linuxu na špeciálnom virtuálnom stroji JIT, ktorý umožňuje miestnemu používateľovi spustiť váš kód na úrovni jadra.

Podľa vedcov, ktorí identifikovali zraniteľnosť, dokázali vyvinúť funkčný prototyp zneužitia pre 86-bitové a 32-bitové systémy x64, ktoré môže používať neprivilegovaný používateľ.

Súčasne Red Hat poznamenáva, že závažnosť problému závisí od dostupnosti systémového volania eBPF. pre používateľa. Napríklad na RHEL a na väčšine ostatných distribúcií Linuxu je chyba štandardne zneužitá, keď je povolený BPF JIT a užívateľ má práva CAP_SYS_ADMIN.

V jadre Linuxu bol objavený problém, ktorý môžu zneužiť
neprivilegovaní miestni používatelia na eskaláciu privilégií.

Problém je v tom, ako kompilátory BPF JIT počítajú pre niektoré architektúry
Offset pobočiek pri generovaní strojového kódu. To sa dá zneužiť
vytvoriť anomálny strojový kód a spustiť ho v režime jadra,
kde je tok kontroly unesený za účelom vykonania nezabezpečeného kódu.

A je to tým, že to podrobne popisujú problém je spôsobený chybou, ktorá je generovaná pri výpočte posunu vetviacich inštrukcií počas kompilátora JIT, ktorý generuje strojový kód.

Konkrétne sa uvádza, že pri generovaní pokynov vetvy sa neberie do úvahy, že sa posunutie môže zmeniť po prechode fázou optimalizácie, takže túto chybu je možné použiť na vygenerovanie anomálneho strojového kódu a jeho spustenie v jadre.

Treba poznamenať, že Toto nie je jediná zraniteľnosť v subsystéme eBPF, ktorá je známa za posledné roky, od konca marca boli v jadre identifikované ďalšie dve chyby zabezpečenia (CVE-2020-27170, CVE-2020-27171), ktoré poskytujú možnosť použitia eBPF na obídenie ochrany pred zraniteľnosťami triedy Spectre, ktoré umožňujú určiť obsah pamäte jadra a vedú k vytvoreniu podmienok pre špekulatívne vykonávanie určitých operácií.

Útok Spectre vyžaduje prítomnosť konkrétnej postupnosti príkazov v privilegovanom kóde, čo vedie k špekulatívnemu vykonávaniu pokynov. V eBPF sa našlo niekoľko spôsobov na generovanie takýchto pokynov manipuláciami s programami BPF prenášanými na ich vykonanie.

  • Zraniteľnosť CVE-2020-27170 je spôsobená manipuláciou ukazovateľa v kontrole BPF, ktorá spôsobuje špekulatívne operácie na prístup do oblasti mimo medzipamäte.
  • Zraniteľnosť CVE-2020-27171 súvisí s chybou podtečenia celého čísla pri práci s ukazovateľmi, čo vedie k špekulatívnemu prístupu k údajom mimo medzipamäte.

Tieto problémy už boli opravené vo verziách jadra 5.11.8, 5.10.25, 5.4.107, 4.19.182 a 4.14.227 a boli zahrnuté do aktualizácií jadra pre väčšinu distribúcií systému Linux. Vedci pripravili prototyp exploitu, ktorý umožňuje neprivilegovanému používateľovi načítať údaje z pamäte jadra.

Pokiaľ ide o jedno z riešení, ktoré Red Hat navrhuje:

Zmiernenie:

Tento problém predvolene neovplyvňuje väčšinu systémov. Správca by musel umožniť ovplyvnenie BPF JIT.

Môže byť okamžite deaktivovaný pomocou príkazu:

# echo 0 > /proc/sys/net/core/bpf_jit_enable

Alebo to môže byť zakázané pre všetky nasledujúce zavedenia systému nastavením hodnoty v /etc/sysctl.d/44-bpf -jit-disable

## start file ##
net.core.bpf_jit_enable=0</em>
end file ##

Konečne ak máte záujem dozvedieť sa o tom viac o tejto zraniteľnosti, môžete skontrolovať podrobnosti v nasledujúci odkaz.

Za zmienku stojí, že problém pretrváva až do verzie 5.11.12 (vrátane) a vo väčšine distribúcií ešte nebol vyriešený, aj keď oprava už existuje. k dispozícii ako náplasť.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.