Zistila sa chyba v garbage collectore Linux, ktorá by mohla viesť k eskalácii privilégií 

zraniteľnosť systemd

Pred pár dňami Jann Horn z tímu Google Project Zero, ktorí predtým identifikovali zraniteľné miesta Spectre a Meltdown, odhalili techniku ​​na zneužitie zraniteľnosti nachádza sa v zberači odpadu jadra Linuxu (CVE-2021-4083).

Zraniteľnosť je spôsobené rasovým stavom keď sa vyčistia deskriptory súborov soketov Unix a potenciálne umožňuje neprivilegovanému lokálnemu používateľovi spustiť váš kód na úrovni jadra.

Problém je zaujímavé, pretože časové okno počas ktorých nastane rasový stav bol vyhodnotený ako príliš malý vytvárať skutočné zraniteľnosti, no autor štúdie ukázal, že aj pôvodne skeptické zraniteľnosti sa môžu stať zdrojom reálnych útokov, ak má tvorca zraniteľnosti potrebné schopnosti a čas.

Yann Horn ukázal, ako pomocou filigránových manipulácií je možné znížiť stav Udalosť závodu, ktorá nastane pri súčasnom volaní funkcií close() a fget() na plne využitú zraniteľnosť bez použitia po použití a získanie prístupu k už uvoľnenej dátovej štruktúre v jadre.

Nastane rasový stav počas procesu zatvárania deskriptora súboru pri súčasnom volaní funkcií close() a fget(). Volanie close() je možné vykonať pred vykonaním funkcie fget(), čo pomýli zberateľa položiek nepoužité, pretože podľa refcount štruktúra súboru nebude mať žiadne externé odkazy, ale zostane pripojená k deskriptoru súboru, t.j. zberač odpadu bude predpokladať, že má exkluzívny prístup k štruktúre, ale v skutočnosti na krátky čas, zostávajúci záznam v tabuľke deskriptorov súboru bude naďalej indikovať, že štruktúra sa uvoľňuje.

Aby sa zvýšila pravdepodobnosť vstup do pretekovej podmienky, bolo použitých niekoľko trikov, ktoré umožnili zvýšiť pravdepodobnosť úspechu podielu na 30 % pri vykonávaní špecifických optimalizácií systému. Napríklad, aby sa predĺžil prístupový čas k štruktúre s deskriptormi súborov o niekoľko stoviek nanosekúnd, údaje sa vyprázdnili z vyrovnávacej pamäte procesora znečistením vyrovnávacej pamäte aktivitou na inom jadre CPU, čo umožnilo vrátiť štruktúru z pamäte a nie rýchla vyrovnávacia pamäť CPU.

Druhá dôležitá vlastnosť bol použitie prerušení generovaných hardvérovým časovačom zvýšiť čas pretekov. Načasovanie bolo zvolené tak, aby sa obsluha prerušení spustila počas výskytu race condition a na chvíľu prerušila vykonávanie kódu. Na ďalšie oddialenie návratu kontroly epoll vygeneroval približne 50 XNUMX záznamov vo fronte, čo si vyžadovalo iteráciu v obsluhe prerušení.

Technika zneužívanie zraniteľnosti bola zverejnená po 90-dňovom období nezverejnenia. Problém

a bolo to opravené začiatkom decembra. Oprava bola zahrnutá v jadre 5.16 a presunula sa aj do LTS vetiev jadra a balíkov s jadrom dodávaných v distribúciách. Treba poznamenať, že zraniteľnosť bola identifikovaná počas analýzy podobného problému CVE-2021-0920, ktorý sa prejavuje v zberači odpadu pri spracovaní príznaku MSG_PEEK.

Ďalšia zraniteľnosť, ktorá sa našla nedávno v jadre Linuxu to bolo CVE-2022 0742, že môže vyčerpať dostupnú pamäť a na diaľku spôsobiť odmietnutie služby odoslaním špeciálne vytvorených paketov icmp6. Problém súvisí s únikom pamäte, ku ktorému dochádza pri spracovaní správ ICMPv6 s typmi 130 alebo 131.

Problém je prítomný od jadra 5.13 a bol opravený vo verziách 5.16.13 a 5.15.27. Problém neovplyvnil stabilné vetvy Debian, SUSE, Ubuntu LTS (18.04, 20.04) a RHEL, bol opravený na Arch Linuxe.

Konečne ak máte záujem dozvedieť sa o tom viac z poznámky si môžete pozrieť podrobnosti v nasledujúci odkaz.


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ť.