Linuxi kerneli tty alamsüsteemis leiti haavatavus

Google Project Zero meeskonna teadlased avaldasid hiljuti ajaveebipostituse kaudu uus meetod haavatavuste ärakasutamiseks (CVE-2020-29661) ioctl-käitleja TIOCSPGRP rakendamisel Linuxi kerneli tty alamsüsteem, samuti üksikasjalikke kaitsemehhanisme, mis võivad need haavatavused blokeerida.

Postituses on mainitud, et probleemi põhjuseks on viga luku seadetes, mis viib võistlustingimuseni koodis /tty/tty_jobctrl.c, mida kasutati tingimuste loomiseks mälule juurdepääsuks pärast käivitamist (use-after-free), mida kasutas kasutajaruum ioct-ga manipuleerimise teel, kutsudes välja TIOCSPGRP.

Lisaks avaldatud teabele ka viidi läbi funktsionaalne ärakasutamise demo privileegide suurendamiseks Debian 10 kerneliga 4.19.0-13-amd64 ja mis samuti ei välista, et see võib mõjutada erinevaid distributsioone, mille hulgas on loomulikult ka Debianil põhinevaid ja sellest tuletatud distributsioone.

Paljud üksikud ärakasutamise tehnikad ja leevendusvõimalused, mida siin kirjeldan, ei ole uudsed. Siiski arvan, et tasub need kokku kirjutada, et näidata, kuidas erinevad leevendused suhtlevad üsna tavalise after-free exploitiga.

Selles ajaveebi postituses olevad koodilõigud, mis on kasutuse seisukohalt olulised, on võetud eelmisest versioonist 4.19.160, kuna sellel põhineb sihtmärk Debiani kernel; mõned muud koodilõigud pärinevad Linuxi põhiliinist.

Samal ajal avaldatud artiklis rõhk ei ole niivõrd funktsionaalse exploiti loomise tehnikal, vaid millistel vahenditel on olemas tuumas et ennast kaitsta selliste haavatavuste vastu.

Järeldus on pettumus, kuna mainitakse, et selliseid meetodeid nagu mälu segmenteerimine hunnikus ja mälule juurdepääsu kontrollimine pärast selle vabastamist praktikas ei rakendata, kuna need viivad jõudluse halvenemiseni ja kaitsele, mis põhineb CFI-l (Control Flow Integrity), mis blokeerib ärakasutamist hilisemates versioonides. rünnaku etapid, vajab täiustamist.

Terminalseadmete eriliik on pseudoterminalid, mida kasutatakse näiteks siis, kui avad terminalirakendust graafilises keskkonnas või ühendutakse SSH kaudu kaugmasinaga. Kui teised terminalseadmed on ühendatud mingi riistvaraga, siis pseudoterminali mõlemat otsa juhib kasutajaruum ja pseudoterminale saab vabalt luua kasutajaruumiga (ilma privileegideta).

Iga kord, kui / dev / ptmx avatakse (lühend sõnast "pseudoterminali multiplekser"), esindab tulemuseks olev failideskriptor seadme seadme poolt (dokumentatsioonis ja kerneli allikates nimetatakse seda "peamiseks pseudoterminaliks"). uus pseudo - terminal.

 Vastava terminaliseadme (millega tavaliselt shell ühendub) loob kernel automaatselt kataloogis / dev / pts / .

Vaadates, mis võiks pikemas perspektiivis midagi muuta, on rõhk täiustatud staatiliste parserite kasutamisel või mälusäästlike keelte kasutamisel, nagu Rust ja C dialektid koos laiendatud märkustega (nagu tõestatud C), et luua olekukontrollejaid, lukke, objektid ja osutid. Kaitsemeetodites mainitakse ka režiimi panic_on_oops lubamist, kerneli struktuuride muutmist kirjutuskaitstuks ja juurdepääsu piiramist süsteemikutsetele selliste mehhanismide kaudu nagu seccomp.

Probleemi põhjustav viga see parandati Linuxi tuumas eelmise aasta 3. detsembril. Probleem avaldub tuumades enne versiooni 5.9.13, kuid enamik distributsioone on probleemi lahendanud eelmisel aastal pakutud kernelipaketi värskendustes.

Mainitakse ka sarnast haavatavust (CVE-2020-29660), mis leiti samaaegselt TIOCGSID ioctl-kutse juurutamisel, kuid eemaldati samuti kõikjalt.

Lõpuks Kui soovite sellest rohkem teada saada, saate üksikasju kontrollida Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.