Linuxi tuumas, OverlayFS-failisüsteemi teostuses, on avastatud haavatavus (CVE-2023-0386), mida saab kasutada root-juurdepääsu saamiseks süsteemides, kus on installitud FUSE-alamsüsteem ja lubatud on OverlayFS-i sektsioonide mountimine mitteprivilegeeritud kasutaja poolt (alates Linuxi tuumast 5.11 koos mitteprivilegeeritud kasutaja nimemudelite lubamisega). Probleem on lahendatud tuuma 6.2 harus. Pakettide uuendamise avaldamist distributsioonides saab jälgida lehtedel: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.
Rünnak toimub setgid/setuid-flaggidega failide kopeerimise kaudu sektsioonist, mis on monteeritud nosuid-režiimis, OverlayFS-i sektsiooni, millel on kiht, mis on seotud sektsiooniga, mis lubab suid-faile. Haavatavus on lähedane 2021. aastal tuvastatud probleemile CVE-2021-3847, kuid selle rakendamise nõuded on madalamad — vanas probleemis oli vajalik manipuleerimine xattridega, mis on piiratud kasutaja nimemudelite kasutamisel, samas kui uues probleemis kasutatakse setgid/setuid bitti, mis ei ole spetsiaalselt töödeldud kasutaja nimemudelis.
Rünnaku sooritamise algoritm:
- FUSE-alamsüsteemi abil monteeritakse failisüsteem, kus on seadme root kuuluva setuid/setgid-flagidega käivitatav fail, mis on kõigile kasutajatele kirjutamiseks saadaval. FUSE montaažis seadistatakse režiim „nosuid”.
- Tühistatakse (unshare) kasutaja ja montaaži nimemudelid (user/mount namespace).
- Monteeritakse OverlayFS, määrates eelnevalt loodud FUSE-failisüsteemi madalamaks kihiks ja ülemiseks kihiks kaust, mis lubab kirjutamist. Ülemise kihi kaust peab olema montaažis, kus ei kasutata „nosuid” lippu.
- FUSE-sektsiooni suid-faili aeg muudetakse utiliidiga touch, mis toob kaasa selle kopeerimise OverlayFS-i ülemisse kihti.
- Kopeerimise käigus ei eemalda tuum setgid/setuid lippe, mille tõttu fail ilmub sektsiooni, mis lubab setgid/setuid töötlemist.
- Root-õiguste saamiseks piisab setgid/setuid lipuga faili käivitamisest kaustast, mis on seotud OverlayFS-i ülemise kihiga.
Lisaks tasub märkida Google Project Zero meeskonna teadlaste avastatud kolme haavatavust, mis parandatud Linuxi tuumade versioonis 5.15, kuid mis ei ole kantud RHEL 8.x/9.x ja CentOS Stream 9 tuumade paketidesse.
- CVE-2023-1252 — juurdepääs juba vabastatud mälu alale struktuuris ovl_aio_req, kui samaaegselt toimub mitu toimingut OverlayFS-is, mis on käivitatud Ext4 failisüsteemi peal. Potentsiaalselt võimaldab see haavatavus suurendada süsteemis privileege.
- CVE-2023-0590 — juurdepääs juba vabastatud mälu alale funktsioonis qdisc_graft(). Eeldatakse, et selle ärakasutamine piirneb kokkukukkumisega.
- CVE-2023-1249 — juurdepääs juba vabastatud mälu alale mälukärbe kirjutamise koodis, mis tuleneb vahelejäänud mmap_lock kõnest file_files_note. Eeldatakse, et selle ärakasutamine piirneb kokkukukkumisega.
Allikas: opennet.ru
