Sebezhetőséget találtunk a Linux kernel tty alrendszerében

A Google Project Zero csapatának kutatói közzétették nemrégiben egy blogbejegyzés útján a sebezhetőségek kihasználásának új módszere (CVE-2020-29661) a TIOCSPGRP ioctl kezelőjének megvalósításában. Linux kernel tty alrendszer, valamint részletes védelmi mechanizmusokat, amelyek blokkolhatják ezeket a sebezhetőségeket.

A posztban szerepel, hogy a problémát a zárbeállítások hibája okozza, ami egy versenyfeltételhez vezet a /tty/tty_jobctrl.c kódban, amelyet a memória eléréséhez használt feltételek megteremtésére használtak az indítás után (use-after-free), amelyet a felhasználói tér kihasznált az ioct-val történő manipuláció révén, a TIOCSPGRP meghívásával.

A közzétett információkon kívül még funkcionális exploit bemutatót hajtottak végre a privilégiumok kiterjesztéséhez Debian 10 4.19.0-13-amd64 kernellel és ami azt sem zárja ki, hogy hatással lehet a különféle disztribúciókra, köztük természetesen a Debianon alapuló és abból származó disztribúciókra is.

Az itt leírt egyéni kizsákmányolási technikák és enyhítési lehetőségek közül sok nem újszerű. Azonban úgy gondolom, hogy érdemes összeírni őket, hogy megmutassák, hogyan hatnak a különféle enyhítések egy meglehetősen normális after-free exploittal.

Az ebben a blogbejegyzésben található kódrészletek, amelyek relevánsak az exploit szempontjából, az előző 4.19.160-as verzióból származnak, mivel a cél Debian kernel ezen alapul; néhány más kódrészlet a Linux fővonaláról származik.

Ugyanakkor a megjelent cikkben nem annyira a funkcionális exploit létrehozásának technikáján van a hangsúly, hanem azon, hogy mely eszközökön vannak a kernelben hogy megvédje magát az ilyen sérülékenységek ellen.

A következtetés kiábrándító, Mint említettük, a gyakorlatban nem alkalmazzák az olyan módszereket, mint a memória szegmentálása a kupacban és a memóriához való hozzáférés szabályozása annak felszabadítása után, mivel ezek teljesítménycsökkenéshez és CFI-n (Control Flow Integrity) alapuló védelemhez vezetnek, amely blokkolja a kihasználásokat a későbbiekben. támadás szakaszaiban, fejlesztéseket igényel.

A termináleszközök egy speciális típusa a pszeudoterminálok, amelyek akkor használatosak, amikor például grafikus környezetben nyitunk meg egy terminálalkalmazást, vagy SSH-n keresztül csatlakozunk egy távoli géphez. Míg a többi terminál valamilyen hardverhez csatlakozik, az álterminál mindkét végét a felhasználói terület vezérli, és a pszeudoterminálok szabadon létrehozhatók a felhasználói térrel (jogosultságok nélkül).

A / dev / ptmx megnyitásakor (a "pszeudo-terminál multiplexer" rövidítése) az eredményül kapott fájlleíró az eszköz eszközoldalát (a dokumentációban és a kernelforrásokban "a fő pszeudoterminálnak" nevezik) képviseli. new pszeudo -terminál.

 A megfelelő termináleszközt (amelyhez általában egy shell csatlakozik) a kernel automatikusan létrehozza a / dev / pts / alatt .

Ha azt nézzük, mi jelenthet változást hosszú távon, a hangsúly a fejlett statikus elemzők használatán van, vagy a memóriabiztos nyelvek, például a Rust és a C nyelvjárások használatán, kiterjesztett megjegyzésekkel (mint például a bevált C) állapotellenőrzők, zárolások, objektumok és mutatók. A védelmi módszerek megemlítik a panic_on_oops mód engedélyezését, a kernelstruktúrák csak olvashatóvá tételét és a rendszerhívásokhoz való hozzáférés korlátozását olyan mechanizmusokon keresztül, mint a seccomp.

A problémát okozó hiba tavaly december 3-án javították a Linux kernelben. A probléma az 5.9.13-as verzió előtti kernelekben jelenik meg, de a legtöbb disztribúció megoldotta a problémát a kernelcsomag tavalyi frissítései során.

Megemlítenek egy hasonló sérülékenységet is (CVE-2020-29660), amelyet a TIOCGSID ioctl hívás megvalósítása során egyidejűleg találtak meg, de azt is mindenhol eltávolították.

Végül Ha érdekel, hogy többet tudjon meg róla, ellenőrizheti a részleteket A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.