XFS-i haavatavus, mis võimaldab lugeda toore andmeid plokiseadmest

XFS-failisüsteemi koodis avastati haavatavus (CVE-2021-4155), mis võimaldab kohalikul madala privileegiga kasutajal lugeda andmeid kasutamata plokkidest otse plokkseadmest. Kõik olulised Linuxi tuumaversioonid, mis on vanemad kui 5.16 ja sisaldavad XFS draiverit, on selle probleemiga seotud. Parandused on läbi viidud versioonis 5.16 ning ka tuumade 5.15.14, 5.10.91, 5.4.171, 4.19.225 jne värskendustes. Uuenduste staatust jaotustes saab jälgida järgmiste lehtede kaudu: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch.

Haavatavus tuleneb kahe XFS-le spetsiifilise ioctl(XFS_IOC_ALLOCSP) ja ioctl(XFS_IOC_FREESP) vale käitumise tõttu, mis on funktsionaalsed ekvivalendid üldtuuma süsteemikutses fallocate(). Kui faili suurust suurendatakse, mis ei ole ploki suuruse järgi joondatud, siis ioctl XFS_IOC_ALLOCSP/XFS_IOC_FREESP ei nullita jäänud bite kuni järgmise ploki piirini. Seega saab XFS-i standardse 4096-baidise ploki suurusega ründaja lugeda iga ploki kohta kuni 4095 baidi eelnevaid kirjutatud andmeid. Märgitud aladel võivad olla kustutatud failide, defragmentitud failide ja deduplikatsioonitud plokkidega failide andmed.

Probleemi saab kontrollida lihtsa eksploidi prototüübiga. Kui pärast ettepanekut järgitavaid käskude järjestusi õnnestub lugeda Shakespeare'i tekste, on failisüsteemi draiver haavatav. XFS-i sektsiooni esialgne monteerimine demonstreerimiseks nõuab superkasutaja õigusi.

Kuna ioctl(XFS_IOC_ALLOCSP) ja ioctl(XFS_IOC_FREESP) funktsionaalsuse poolest praktiliselt ei erine standardsetest fallocate() funktsioonidest ja nende ainus erinevus on andmelekke olemasolu, näib nende olemasolu tagaukse sarnane. Kuigi üldine poliitika on – mitte muuta olemasolevaid liideseid tuumas, – Linuse ettepanekul on otsustatud need ioctl'id järgmises versioonis täielikult eemaldada.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster