Linux-ytimen etähaavoittuvuus, joka ilmenee käytettäessä TIPC-protokollaa

Linux-ydinmoduulista on tunnistettu haavoittuvuus (CVE-2022-0435), joka varmistaa TIPC (Transparent Inter-process Communication) -verkkoprotokollan toiminnan ja mahdollistaa koodin suorittamisen ydintasolla lähettämällä erityisesti suunniteltua verkkoa. paketti. Ongelma koskee vain järjestelmiä, joissa tipc.ko-ydinmoduuli on ladattu ja TIPC-pino määritetty, jota käytetään tyypillisesti klustereissa eikä ole oletuksena käytössä erikoistumattomissa Linux-jakeluissa.

On huomattava, että kun rakennetaan ydin "CONFIG_FORTIFY_SRC=y"-tilassa (käytetään RHEL:ssä), joka lisää ylimääräisiä rajatarkistuksia memcpy()-funktioon, toiminta rajoittuu hätäpysäytykseen (ydin paniikkiin). Jos se suoritetaan ilman lisätarkistuksia ja jos tietoa pinon suojaamiseen käytetyistä canary-tageista vuotaa, ongelmaa voidaan hyödyntää koodin etäsuorittamiseen ytimen oikeuksilla. Ongelman tunnistaneet tutkijat väittävät, että hyväksikäyttötekniikka on triviaali ja se paljastetaan jakelun haavoittuvuuden laajan poistamisen jälkeen.

Haavoittuvuuden aiheuttaa pinon ylivuoto, joka ilmenee paketteja käsiteltäessä, kentän arvo, jossa verkkotunnuksen jäsensolmujen lukumäärä ylittää 64. Solmuparametrien tallentamiseksi tipc.ko-moduuliin kiinteä taulukko "u32 members[64" ]” on käytössä, mutta paketissa määritetyn käsittelyn aikana Solmun numero ei tarkista "member_cnt" arvoa, mikä mahdollistaa 64:tä suurempien arvojen käytön seuraavaksi muistialueen tietojen ohjattuun päällekirjoitukseen. pinon "dom_bef"-rakenteeseen.

Haavoittuvuuteen johtava bugi esiteltiin 15. kesäkuuta 2016, ja se sisällytettiin Linux 4.8 -ytimeen. Haavoittuvuus on korjattu Linux-ytimen julkaisuissa 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 ja 4.9.301. Useimpien jakelujen ytimissä ongelma pysyy korjaamattomana: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

TIPC-protokollan on alun perin kehittänyt Ericsson. Se on suunniteltu järjestämään prosessien välinen viestintä klusterissa ja se aktivoituu pääasiassa klusterin solmuissa. TIPC voi toimia joko Ethernetin tai UDP:n kautta (verkkoportti 6118). Ethernetin kautta työskennellessä hyökkäys voidaan suorittaa paikallisverkosta ja UDP:tä käytettäessä globaalista verkosta, jos porttia ei peitä palomuuri. Hyökkäyksen voi suorittaa myös isäntäkoneen etuoikeutettu paikallinen käyttäjä. Aktivoidaksesi TIPC:n, sinun on ladattava tipc.ko-ydinmoduuli ja määritettävä sidos verkkoliitäntään netlinkin tai tipc-apuohjelman avulla.

Lähde: opennet.ru

Lisää kommentti