OverlayFS ievainojamība, kas ļauj palielināt privilēģijas

Linux kodolā ir konstatēta ievainojamība OverlayFS failu sistēmas (CVE-2023-0386) ieviešanā, ko var izmantot, lai iegūtu saknes piekļuvi sistēmām, kurās ir instalēta apakšsistēma FUSE un kas ļauj uzstādīt OverlayFS nodalījumus, izmantojot nepievilcīgs lietotājs (sākot ar Linux kodolu 5.11, iekļaujot nepievilcīgu lietotāju nosaukumvietu). Problēma tika novērsta 6.2 kodola filiālē. Pakešu atjauninājumu publicēšanu izplatījumos var izsekot lapās: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Uzbrukums tiek veikts, kopējot failus ar setgid/setuid karodziņiem no nodalījuma, kas uzstādīts nosuid režīmā, uz OverlayFS nodalījumu, kuram ir ar nodalījumu saistīts slānis, kas ļauj izpildīt suid failus. Ievainojamība ir tuvu 2021. gadā identificētajai problēmai CVE-3847-2021, taču tai ir zemākas ekspluatācijas prasības — vecā problēma prasīja manipulācijas ar xattrs, kas ir ierobežota, izmantojot lietotāju nosaukumvietas, un jaunā problēma izmanto bitus setgid/setuid, kas ir nav īpaši apstrādāts lietotāja vārdu telpā.

Uzbrukuma algoritms:

  • Izmantojot apakšsistēmu FUSE, tiek montēta failu sistēma, kurā atrodas saknes lietotājam piederošs izpildāmais fails ar karogiem setuid/setgid, kas ir pieejams visiem lietotājiem rakstīšanai. Uzstādot, FUSE iestata režīmu uz “nosuid”.
  • Lietotāju/mount nosaukumvietas nav koplietotas.
  • OverlayFS ir uzstādīts, norādot iepriekš FUSE izveidoto FS kā apakšējo slāni un augšējo slāni, pamatojoties uz rakstāmu direktoriju. Augšējā slāņa direktorijam jāatrodas failu sistēmā, kas, to uzstādot, neizmanto karogu “nosuid”.
  • Suid failam FUSE nodalījumā pieskāriena utilīta maina modifikācijas laiku, kā rezultātā tas tiek kopēts uz OverlayFS augšējo slāni.
  • Kopēšanas laikā kodols neizdzēš setgid/setuid karogus, kā rezultātā fails tiek parādīts nodalījumā, kas ļauj apstrādāt setgid/setuid.
  • Lai iegūtu saknes tiesības, vienkārši palaidiet failu ar karodziņu setgid/setuid no direktorija, kas pievienota OverlayFS augšējam slānim.

Turklāt mēs varam atzīmēt, ka Google Project Zero komandas pētnieki atklāja informāciju par trim ievainojamībām, kas tika novērstas Linux kodola 5.15 galvenajā atzarā, bet netika pārsūtītas uz pakotnēm ar kodolu no RHEL 8.x/9. x un CentOS Stream 9.

  • CVE-2023-1252 — piekļuve jau atbrīvotam atmiņas apgabalam ovl_aio_req struktūrā, vienlaikus veicot vairākas darbības OverlayFS, kas izvietots Ext4 failu sistēmas augšpusē. Potenciāli ievainojamība ļauj palielināt jūsu privilēģijas sistēmā.
  • CVE-2023-0590 — piekļuve jau atbrīvotajai atmiņai funkcijā qdisc_graft(). Tiek pieņemts, ka darbība aprobežojas ar patoloģisku pārtraukšanu.
  • CVE-2023-1249 Coredump rakstīšanas kodā jau ir atbrīvota piekļuve atmiņai, jo failā file_files_note ir neatbildēts zvans uz mmap_lock. Tiek pieņemts, ka darbība aprobežojas ar patoloģisku pārtraukšanu.

Avots: opennet.ru

Pievieno komentāru