Ranljivost v OverlayFS, ki omogoča stopnjevanje privilegijev

V jedru Linuxa je bila odkrita ranljivost pri implementaciji datotečnega sistema OverlayFS (CVE-2023-0386), ki se lahko uporabi za pridobitev korenskega dostopa v sistemih, ki imajo nameščen podsistem FUSE in omogočajo namestitev particij OverlayFS s strani neprivilegiranega uporabnik (začenši z jedrom Linux 5.11 z vključitvijo neprivilegiranega uporabniškega imenskega prostora). Težava je bila odpravljena v veji jedra 6.2. Objavo posodobitev paketov v distribucijah lahko spremljate na straneh: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Napad se izvede s kopiranjem datotek z zastavicami setgid/setuid s particije, nameščene v načinu nosuid, na particijo OverlayFS, ki ima s particijo povezano plast, ki omogoča izvajanje datotek suid. Ranljivost je podobna težavi CVE-2021-3847, ugotovljeni leta 2021, vendar se razlikuje po nižjih zahtevah glede izkoriščanja - stara težava je zahtevala manipulacijo z xattrji, ki so omejeni na uporabo uporabniških imenskih prostorov (user namespace), nova težava pa uporablja bite setgid /setuid, ki niso posebej obravnavani v uporabniškem imenskem prostoru.

Algoritem napada:

  • S pomočjo podsistema FUSE se montira datotečni sistem, v katerem je izvršljiva datoteka v lasti uporabnika root z zastavicama setuid / setgid, ki je na voljo vsem uporabnikom za pisanje. Pri montaži FUSE nastavi način na "nosuid".
  • Prekliči skupno rabo uporabniških imenskih prostorov in točk priklopa (imenski prostor uporabnika/vpetja).
  • OverlayFS je nameščen s FS, predhodno ustvarjenim v FUSE, kot spodnjo plast in zgornjo plast, ki temelji na zapisljivem imeniku. Imenik zgornje plasti mora biti v datotečnem sistemu, ki ne uporablja zastavice "nosuid", ko je nameščen.
  • Za datoteko suid v particiji FUSE pripomoček na dotik spremeni čas spreminjanja, kar vodi do njenega kopiranja na zgornjo plast OverlayFS.
  • Pri kopiranju jedro ne odstrani zastavic setgid/setuid, kar povzroči, da se datoteka prikaže na particiji, ki jo lahko obdela setgid/setuid.
  • Za pridobitev korenskih pravic je dovolj, da zaženete datoteko z zastavicami setgid/setuid iz imenika, pritrjenega na zgornjo plast OverlayFS.

Poleg tega lahko opazimo, da so raziskovalci iz skupine Google Project Zero razkrili informacije o treh ranljivostih, ki so bile odpravljene v glavni veji jedra Linux 5.15, vendar niso bile prenesene v pakete jedra iz RHEL 8.x/9.x in CentOS Stream 9.

  • CVE-2023-1252 – Dostopanje do že sproščenega pomnilniškega območja v strukturi ovl_aio_req med izvajanjem več operacij hkrati v OverlayFS, nameščenem na vrhu datotečnega sistema Ext4. Potencialno vam ranljivost omogoča, da povečate svoje privilegije v sistemu.
  • CVE-2023-0590 – Sklicevanje na že sproščeno pomnilniško območje v funkciji qdisc_graft(). Predpostavlja se, da je delovanje omejeno na prekinitev.
  • CVE-2023-1249 – Dostop do že sproščenega pomnilniškega področja v vnosni kodi coredump zaradi manjkajočega klica mmap_lock v file_files_note. Predpostavlja se, da je delovanje omejeno na prekinitev.

Vir: opennet.ru

Dodaj komentar