Ranjivost u OverlayFS-u koja dopušta eskalaciju privilegija

Identificirana je ranjivost u Linux kernelu u implementaciji OverlayFS datotečnog sustava (CVE-2023-0386), koji se može koristiti za dobivanje root pristupa na sustavima koji imaju instaliran podsustav FUSE i dopuštaju montiranje OverlayFS particija neprivilegiranom korisnik (počevši s jezgrom Linuxa 5.11 s uključivanjem neprivilegiranog korisničkog imenskog prostora). Problem je riješen u ogranku kernela 6.2. Objavu ažuriranja paketa u distribucijama možete pratiti na stranicama: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Napad se izvodi kopiranjem datoteka sa zastavicama setgid/setuid s particije montirane u nosuid modu na OverlayFS particiju koja ima sloj povezan s particijom koji dopušta izvršavanje suid datoteka. Ranjivost je slična problemu CVE-2021-3847 identificiranom 2021., ali se razlikuje po nižim zahtjevima za iskorištavanje - stari problem zahtijevao je manipulaciju xattr-om, što je ograničeno na korištenje korisničkih imenskih prostora (user namespace), a novi problem koristi bitove setgid /setuid koji se ne obrađuju posebno u prostoru imena korisnika.

Algoritam napada:

  • Uz pomoć podsustava FUSE montira se datotečni sustav u kojem se nalazi izvršna datoteka u vlasništvu root korisnika sa setuid / setgid zastavicama, dostupna svim korisnicima za pisanje. Prilikom montiranja, FUSE postavlja način rada na "nosuid".
  • Poništi dijeljenje korisničkih imenskih prostora i točaka montiranja (korisnički/montirani imenski prostor).
  • OverlayFS se montira s FS-om koji je prethodno kreiran u FUSE-u kao donji sloj i gornji sloj temeljen na direktoriju za pisanje. Direktorij gornjeg sloja mora se nalaziti u datotečnom sustavu koji ne koristi oznaku "nosuid" kada je montiran.
  • Za suid datoteku u particiji FUSE, uslužni program za dodir mijenja vrijeme izmjene, što dovodi do njenog kopiranja na gornji sloj OverlayFS-a.
  • Prilikom kopiranja kernel ne uklanja zastavice setgid/setuid, zbog čega se datoteka pojavljuje na particiji koju setgid/setuid može obraditi.
  • Da biste dobili root prava, dovoljno je pokrenuti datoteku sa zastavicama setgid/setuid iz direktorija priloženog gornjem sloju OverlayFS-a.

Dodatno, možemo primijetiti otkrivanje informacija od strane istraživača iz tima Google Project Zero o tri ranjivosti koje su popravljene u glavnoj grani jezgre Linux 5.15, ali nisu prenesene na pakete jezgre iz RHEL 8.x/9.x i CentOS Stream 9.

  • CVE-2023-1252 - Pristup već oslobođenom memorijskom području u strukturi ovl_aio_req dok izvodi nekoliko operacija u isto vrijeme u OverlayFS-u postavljenom na vrhu Ext4 datotečnog sustava. Potencijalno, ranjivost vam omogućuje da povećate svoje privilegije u sustavu.
  • CVE-2023-0590 - Upućivanje na već oslobođeno područje memorije u funkciji qdisc_graft(). Pretpostavlja se da je operacija ograničena na prekid.
  • CVE-2023-1249 - Pristup već oslobođenom području memorije u ulaznom kodu coredumpa zbog nedostatka poziva mmap_lock u file_files_note. Pretpostavlja se da je operacija ograničena na prekid.

Izvor: opennet.ru

Dodajte komentar