Haavatavus Linuxi tuuma pesa AF_PACKET juurutamisel

Kolm aastat pärast haavatavuste lainet (1, 2, 3, 4, 5) Linuxi kerneli alamsüsteemis AF_PACKET tuvastatud veel üks probleem (CVE-2020-14386), mis võimaldab kohalikul privilegeerimata kasutajal juurjuurdepääsu korral koodi käivitada või isoleeritud konteineritest väljuda.

AF_PACKET sokli loomine ja haavatavuse ärakasutamine nõuab CAP_NET_RAW õigusi. Määratud loa saab aga privilegeerimata kasutaja konteinerites, mis on loodud süsteemides, kus kasutajanimeruumide tugi on lubatud. Näiteks kasutajanimeruumid on Ubuntu ja Fedora puhul vaikimisi lubatud, kuid mitte Debianis ja RHELis. Androidis on meediaserveri protsessil õigus luua AF_PACKET pesasid, mille kaudu saab haavatavust ära kasutada.

Haavatavus esineb funktsioonis tpacket_rcv ja selle põhjuseks on tõrge netoffi muutuja arvutamisel. Ründaja võib luua tingimused, kus muutuja netoff kirjutatakse väärtusele, mis on väiksem kui macleni muutuja, mis põhjustab "macoff = netoff - maclen" arvutamisel ülevoolu ja seejärel sisestades kursori sissetulevate andmete puhvrile. Selle tulemusena saab ründaja algatada 1–10 baidise kirjutamise alale, mis asub eraldatud puhvri piiridest väljaspool. Märgitakse, et arendamisel on ärakasutamine, mis võimaldab hankida süsteemi juurõigusi.

Probleem on kernelis olnud alates 2008. aasta juulist, st. avaldub kõigis tegelikes tuumades. Parandus on praegu saadaval kujul plaaster. Distributsioonide paketivärskenduste saadavust saate jälgida järgmistel lehtedel: Ubuntu, Fedora, SUSE, Debian, RHEL, Kaar.

Allikas: opennet.ru

Lisa kommentaar