Уразлівасць у OverlayFS, якая дазваляе падвысіць свае прывілеі

У ядры Linux у рэалізацыі файлавай сістэмы OverlayFS выяўленая ўразлівасць (CVE-2023-0386), якую можна выкарыстаць для атрымання root-доступу на сістэмах, у якіх усталявана падсістэма FUSЕ і дазволенае мантаванне частак OverlayFS непрывілеяваным карыстачом (пачынальна з ядра Linux. user namespace). Праблема ўхілена ў галінцы ядра 5.11. Публікацыю абнаўленняў пакетаў у дыстрыбутывах можна прасачыць на старонках: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Атака вырабляецца праз капіяванне файлаў са сцягамі setgid/setuid з часткі, прымантаванага ў рэжыме nosuid, у частку OverlayFS, мелы пласт, злучаны з часткай, дапушчальным выкананне suid-файлаў. Уразлівасць блізкая да праблемы CVE-2021-3847, выяўленай у 2021 году, але адрозніваецца ніжэйшымі патрабаваннямі да эксплуатацыі — у старой праблеме патрабаваліся маніпуляцыі з xattrs, якія абмежаваныя пры выкарыстанні прастор імёнаў ідэнтыфікатараў карыстача (user namespace), а ў новай праблеме setgid/setuid, якія спецыяльна не апрацоўваюцца ў user namespace.

Алгарытм здзяйснення нападу:

  • Пры дапамозе падсістэмы FUSE мантуецца ФС, у якой маецца які належыць карыстачу root выкананы файл са сцягамі setuid/setgid, даступным усім карыстачам на запіс. Пры мантаванні FUSE выстаўляе рэжым «nosuid».
  • Адмяняюцца (unshare) прасторы імён карыстачоў і кропак мантавання (user/mount namespace).
  • Мантуецца OverlayFS з указаннем раней створанай у FUSE ФС у якасці ніжняга пласта і верхнім пластом на базе каталога, які дапускае магчымасць запісу. Каталог верхняга пласта павінен размяшчацца ў ФС, пры мантаванні якой не выкарыстоўваецца сцяг "nosuid".
  • Для suid-файла ў FUSE-частцы ўтылітай touch змяняецца час мадыфікацыі, што прыводзіць да яго капіявання ў верхні пласт OverlayFS.
  • Пры капіяванні ядро ​​не прыбірае сцягі setgid/setuid, што прыводзіць да таго, што файл з'яўляецца ў падзеле, які дапускае апрацоўку setgid/setuid.
  • Для атрымання правоў root дастаткова запусціць файл са сцягамі setgid/setuid з каталога, прымацаванага да верхняга пласта OverlayFS.

Дадаткова можна адзначыць расчыненне даследнікамі з каманды Google Project Zero звестак аб трох уразлівасцях, якія былі выпраўленыя ў асноўнай галінцы ядра Linux 5.15, але не былі перанесеныя ў пакеты з ядром з RHEL 8.x/9.x і CentOS Stream 9.

  • CVE-2023-1252 – зварот да ўжо вызваленай вобласці памяці ў структуры ovl_aio_req пры адначасовым здзяйсненні некалькіх аперацый у OverlayFS, разгорнутай па-над ФС Ext4. Патэнцыйна ўразлівасць дазваляе павысіць свае прывілеі ў сістэме.
  • CVE-2023-0590 - зварот да ўжо вызваленай вобласці памяці ў функцыі qdisc_graft(). Прадугледжваецца, што эксплуатацыя абмяжоўваецца аварыйным завяршэннем.
  • CVE-2023-1249 - зварот да ўжо вызваленай вобласці памяці ў кодзе запісу coredump, якое ўзнікае з-за прапушчанага выкліку mmap_lock у file_files_note. Прадугледжваецца, што эксплуатацыя абмяжоўваецца аварыйным завяршэннем.

Крыніца: opennet.ru

Дадаць каментар