Našla sa zraniteľnosť v podsystéme tty jadra Linuxu

Vydali výskumníci z tímu Google Project Zero nedávno prostredníctvom blogového príspevku nový spôsob využívania zraniteľností (CVE-2020-29661) pri implementácii obslužného programu ioctl TIOCSPGRP Linuxový kernel tty subsystém, ako aj podrobné ochranné mechanizmy, ktoré by mohli blokovať tieto zraniteľnosti.

V príspevku je uvedené, že problém je spôsobený chybou v nastaveniach zámku, čo viedlo k race condition v kóde /tty/tty_jobctrl.c, ktorý bol použitý na vytvorenie podmienok pre prístup k pamäti po spustení (use-after-free), využívanej užívateľským priestorom prostredníctvom manipulácie s ioct- volaním TIOCSPGRP.

Okrem zverejnených informácií aj bolo vykonané funkčné demo exploit pre eskaláciu privilégií v Debian 10 s jadrom 4.19.0-13-amd64 a čo tiež nevylučuje, že to môže mať vplyv na rôzne distribúcie, medzi ktoré samozrejme patria tie, ktoré sú založené a odvodené od Debianu.

Mnohé z jednotlivých techník využívania a možností zmiernenia, ktoré tu popisujem, nie sú nové. Myslím si však, že stojí za to ich spísať, aby sme ukázali, ako sa rôzne zmierňujúce opatrenia vzájomne ovplyvňujú s celkom normálnym využitím bez použitia.

Útržky kódu v tomto blogovom príspevku, ktoré sú relevantné pre exploit, sú prevzaté z predchádzajúcej verzie 4.19.160, pretože na tom je založené cieľové jadro Debianu; niektoré ďalšie úryvky kódu sú z hlavnej línie Linuxu.

Zároveň v publikovanom článku dôraz sa nekladie ani tak na techniku ​​vytvorenia funkčného exploitu, ale na aké nástroje v jadre aby ste sa chránili proti takýmto zraniteľnostiam.

Záver je sklamaním, ako je uvedené, že metódy ako segmentovanie pamäte v halde a riadenie prístupu k pamäti po jej uvoľnení sa v praxi nepoužívajú, pretože vedú k zníženiu výkonu a ochrane založenej na CFI (Control Flow Integrity), ktorá blokuje exploity v neskorších fázy útoku, vyžaduje zlepšenie.

Špeciálnym typom koncového zariadenia sú pseudoterminály, ktoré sa používajú napríklad vtedy, keď otvoríte terminálovú aplikáciu v grafickom prostredí alebo sa pripojíte k vzdialenému stroju cez SSH. Zatiaľ čo iné koncové zariadenia sú pripojené k nejakému druhu hardvéru, oba konce pseudoterminálu sú riadené užívateľským priestorom a pseudoterminály môžu byť voľne vytvorené užívateľským priestorom (bez privilégií).

Kedykoľvek sa otvorí / dev / ptmx (skratka pre "pseudo-terminálny multiplexer"), výsledný deskriptor súboru predstavuje stranu zariadenia (v dokumentácii a zdrojoch jadra sa označuje ako "hlavný pseudoterminál") zariadenia. new pseudo - terminál.

 Zodpovedajúce terminálové zariadenie (ku ktorému sa shell bežne pripája) je automaticky vytvorené jadrom pod / dev / pts / .

Pri pohľade na to, čo by mohlo znamenať rozdiel z dlhodobého hľadiska, sa dôraz kladie na používanie pokročilých statických analyzátorov alebo používanie jazykov bezpečných pre pamäť, ako sú dialekty Rust a C s rozšírenými anotáciami (ako osvedčené C) na vytváranie kontrol stavu, zámkov, predmety a ukazovatele. Metódy ochrany tiež uvádzajú povolenie režimu panic_on_oops, čím sa štruktúry jadra stanú iba na čítanie a obmedzí sa prístup k systémovým volaniam prostredníctvom mechanizmov ako seccomp.

Chyba spôsobujúca problém bolo to opravené v jadre Linuxu 3. decembra minulého roku. Problém prejavuje sa v jadrách pred verziou 5.9.13, ale väčšina distribúcií opravila problém v aktualizáciách balíkov jadra, ktoré boli ponúkané minulý rok.

Spomína sa aj podobná zraniteľnosť (CVE-2020-29660), ktorá bola nájdená súčasne pri implementácii volania TIOCGSID ioctl, ale bola tiež všade odstránená.

Konečne Ak máte záujem dozvedieť sa viac, môžete skontrolovať podrobnosti Na nasledujúcom odkaze.


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