V Linuxe našli zraniteľnosť VFS, ktorá umožňuje eskaláciu privilégií

Pred pár dňami boli zverejnené správy, že bola identifikovaná zraniteľnosť (už katalogizované pod CVE-2022-0185) an kontextové API systému súborov poskytuje linuxove jadro čo by mohlo umožniť lokálnemu používateľovi získať oprávnenia root v systéme.

Je to spomenuté problém je v tom, že neprivilegovaný používateľ môže získať takéto povolenia v izolovanom kontajneri ak je v systéme povolená podpora pre užívateľské menné priestory.

Napríklad priestory názvov používateľov sú štandardne povolené na Ubuntu a Fedore, ale nie sú povolené na Debiane a RHEL (pokiaľ sa nepoužívajú platformy na izoláciu kontajnerov). Okrem eskalácie privilégií možno túto chybu zabezpečenia použiť aj na vylomenie sa z izolovaného kontajnera, ak má kontajner oprávnenie CAP_SYS_ADMIN.

Zraniteľnosť existuje vo funkcii legacy_parse_param() vo VFS a je spôsobená nedostatočným správnym overením maximálnej veľkosti dodaných parametrov na súborových systémoch, ktoré nepodporujú kontextové API súborového systému.

Nedávno sme sa s niekoľkými priateľmi v mojom tíme CTF Crusaders of Rust stretli s pretečením haldy linuxového jadra za 0 dní. Chybu sme našli pomocou fuzzingu pomocou syzkallera a rýchlo sme z nej vyvinuli exploit Ubuntu LPE. Potom sme ho prepísali, aby sme unikli a rootovali spevnenú infraštruktúru Kubernetes CTF od Googlu. Táto chyba sa týka všetkých verzií jadra od 5.1 (5.16 je momentálne vo vývoji) a bola priradená CVE-2022-0185. Už sme to nahlásili do distribučného a bezpečnostného mailing listu Linuxu a chyba bola opravená od vydania tohto článku.

Odovzdanie príliš veľkého parametra môže spôsobiť pretečenie celočíselnej premennej použitej na výpočet veľkosti zapisovaných údajov; kód má kontrolu pretečenia vyrovnávacej pamäte "if (len > PAGE_SIZE - 2 - size)", ktorá nefunguje, ak je hodnota veľkosti väčšia ako 4094 z dôvodu pretečenia celého čísla cez dolnú hranicu (pretečenie celého čísla, keď sa konvertuje 4096 – 2 – 4095 na nepodpísaný int, dostane 2147483648).

Táto chyba umožňuje pri prístupe k špeciálne vytvorenému obrazu FS, spôsobiť pretečenie vyrovnávacej pamäte a prepísať údaje jadra po pridelenej oblasti pamäte. Na zneužitie zraniteľnosti sú potrebné práva CAP_SYS_ADMIN, teda oprávnenie správcu.

Od roku 2022 sa naši tímoví kolegovia rozhodli nájsť deň 0 v roku 2022. Neboli sme si celkom istí, ako presne začať, ale keďže náš tím mal vysoký stupeň oboznámenia sa so zraniteľnosťami jadra Linuxu, rozhodli sme sa kúpiť len niekoľko dedikovaných serverov. a spustite syzkaller fuzzer spoločnosti Google. 6. januára o 22:30 PST, chop0 prijal nasledujúcu správu o zlyhaní KASAN v legacy_parse_param: slab-out-of-bounds Napíšte do legacy_parse_param. Zdá sa, že syzbot tento problém našiel len o 6 dní skôr pri fuzzovaní Androidu, no problém sa nepodarilo vyriešiť a naivne sme si mysleli, že si to nikto iný nevšimol.

Na záver ešte stojí za zmienku, že problém sa prejavuje už od linuxového jadra verzie 5.1 a bol vyriešený v aktualizáciách, ktoré vyšli pred pár dňami vo verziách 5.16.2, 5.15.16, 5.10.93, 5.4.173.

okrem toho aktualizácie balíkov zraniteľností už boli vydané pre RHELdebianfedora a ubuntu. Zatiaľ čo riešenie ešte nie je k dispozícii na Arch LinuxgentooSUSE y opensuse.

V prípade týchto je spomenuté, že ako bezpečnostné riešenie pre systémy, ktoré nepoužívajú izoláciu kontajnerov, môžete nastaviť hodnotu sysctl "user.max_user_namespaces" na 0:

Výskumník, ktorý identifikoval problém, publikoval ukážka exploitu que umožňuje spustenie kódu ako root na Ubuntu 20.04 v predvolenej konfigurácii. Plánuje sa to exploit kód je zverejnený na GitHub do týždňa že distribúcie vydávajú aktualizáciu, ktorá opravuje túto zraniteľnosť.

Konečne ak máte záujem dozvedieť sa o tom viac, môžete skontrolovať 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ť.

  1.   Haličský dijo

    Ďalší dôvod, prečo sa nedotýkať snapu palicou.