Tietoja julkaistiin a Linux-ytimen haavoittuvuus OverlayFS-tiedostojärjestelmän toteutuksessa (lueteltu kohdassa CVE-2023-0386).
Epäonnistuminen voidaan käyttää pääkäyttäjän oikeuksien hankkimiseen järjestelmissä, joihin on asennettu FUSE-alijärjestelmä ja jotka sallivat OverlayFS-osioiden liittämisen etuoikeutetulle käyttäjälle (alkaen Linux-ytimestä 5.11, johon sisältyy ei-etuoikeutettu käyttäjänimiavaruus).
Hyökkäys tehdään kopioimalla tiedostoja setgid/setuid-lipuilla nosuid-tilassa asennetusta osiosta OverlayFS-osioon, jossa on osioon liittyvä kerros, joka mahdollistaa suid-tiedostojen suorittamisen.
Linux-ytimestä löydettiin virhe, jossa Linux-ytimen OverlayFS-alijärjestelmästä löydettiin luvaton pääsy ominaisuuksilla varustettuun setuid-tiedostoon, kun käyttäjä kopioi tiedoston, joka pystyy yhdestä nosuid-liittimestä toiseen. Tämän uid-kartoitusvirheen avulla paikallinen käyttäjä voi lisätä oikeuksiaan järjestelmässä.
Haavoittuvuus on samanlainen kuin vuonna 2021 tunnistettu ongelma CVE-3847-2021, mutta eroaa alemmista hyödyntämisvaatimuksista: vanha ongelma edellytti xattrs:n käsittelyä, joka rajoittuu käyttäjän nimiavaruuksien käyttöön (usernamespace), ja uusi ongelma käyttää setgid /setuid-bittejä, joita ei käsitellä nimenomaan käyttäjätunnusavaruudessa.
Hyökkääjä, jolla on alhainen käyttöoikeus Linux-koneessa, jossa on peittoasennus ja jollakin tasoistaan on tiedostoominaisuus, voi laajentaa oikeutensa pääkäyttäjälle kopioimalla yhteensopivan tiedoston yhdestä nosuid-liittimestä toiseen. Tämä haavoittuvuus on samanlainen kuin CVE-2021-3847, mutta vaatii vähemmän käyttöoikeuksia, joten sillä on korkeampi prioriteetti.
Hyökkäysalgoritmi:
- FUSE-alijärjestelmän avulla asennetaan tiedostojärjestelmä, jossa on root-käyttäjän omistama suoritettava tiedosto setuid / setgid -lippujen kanssa, joka on kaikkien käyttäjien kirjoitettavissa. Asennuksen yhteydessä FUSE asettaa tilaksi "nosuid".
- Lopeta käyttäjien nimiavaruuksien ja liitoskohtien jakaminen (käyttäjä/liitosnimiavaruus).
- OverlayFS asennetaan FUSE:ssa aiemmin luodun FS:n pohjakerroksena ja yläkerroksena riippuen kirjoitushakemistosta. Ylimmän kerroksen hakemiston on sijaittava tiedostojärjestelmässä, joka ei käytä "nosuid"-lippua asennuksen aikana.
- FUSE-osiossa olevan suid-tiedoston kohdalla kosketusapuohjelma muuttaa muokkausaikaa ja tuo kopion OverlayFS:n ylimpään kerrokseen.
- Kopioitaessa ydin ei poista setgid/setuid-lippuja, mikä saa tiedoston näkyviin osioon, jonka setgid/setuid voi käsitellä.
- Saadaksesi pääkäyttäjän oikeudet, suorita tiedosto setgid/setuid-lippujen kanssa OverlayFS-ylikerroksen hakemistosta.
Noin haavoittuvuuden ratkaisu, on syytä mainita, että tämä se korjattiin 6.2-ytimen haarassa. Jos haluat tietää lisää pakettipäivitysten julkaisemisesta jakeluissa, voit nähdä sen sivuilla: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Kaari .
Lisäksi, voimme huomauttaa paljastamisesta Google Project Zero -tiimin tutkijoiden tiedot kolme haavoittuvuutta, jotka korjattiin Linux 5.15 -ytimen päähaarassa, mutta niitä ei ole siirretty RHEL 8.x/9.x -ydinpaketteihin ja CentOS 9 -virtaan.
- CVE-2023-1252: Pääsy jo vapautettuun muistialueeseen ovl_aio_req-rakenteessa suorittamalla useita toimintoja samanaikaisesti Ext4-tiedostojärjestelmään toteutetussa OverlayFS:ssä. Mahdollisesti haavoittuvuus antaa sinun lisätä järjestelmän käyttöoikeuksiasi.
- CVE-2023-0590: Viittaa muistialueeseen, joka on jo vapautettu qdisc_graft()-funktiossa. Operaation oletetaan rajoittuvan keskeytykseen.
- CVE-2023-1249: pääsy muistialueelle, joka on jo vapautettu vedostulokoodissa, koska tiedosto_files_note-tiedostossa ei ole mennyt mmap_lock-kutsuun. Operaation oletetaan rajoittuvan keskeytykseen.