Рањивост у корисничком окружењу Енлигхтенмент која омогућава роот приступ

Идентификована је рањивост у корисничком окружењу Енлигхтенмент (ЦВЕ-2022-37706) која би могла дозволити непривилегованом локалном кориснику да изврши код као роот. Рањивост још није исправљена (0-дан), али већ постоји експлоатација у јавном домену, тестирана у Убунту 22.04.

Проблем је у извршном фајлу енлигхтенмент_сис, који долази са суид роот заставицом и извршава одређене дозвољене команде путем позива систем(), као што је монтирање диск јединице помоћу услужног програма за монтирање. Због неправилног рада функције која формира стринг прослеђен позиву систем(), из аргумената команде која се покреће, изрезују се наводници, који се могу користити за покретање сопственог кода. На пример, када покренете мкдир -п /тмп/нет мкдир -п "/тмп/;/тмп/екплоит" ецхо "/бин/сх" > /тмп/екплоит цхмод а+к /тмп/екплоит енлигхтенмент_сис /бин/моунт -о ноекец,носуид,утф8,ноутф8,ноутф8=,$утф0, -у), "/дев/. ./тмп/;/тмп/екплоит" /тмп///нет

због пресецања двоструких наводника, уместо наведене команде '/бин/моунт … "/дев/../тмп/;/тмп/екплоит" /тмп///нет', стринг без двоструких наводника '/бин/моунт … /дев/../тмп/;/тмп/екплоит /тмп///нет') ће бити прослеђен у функцију, којој ће екпло одвести/ екецут функцију' /тмп/ //нет' уместо да се третира као део путање уређаја. Низови „/дев/../тмп/“ и „/тмп///нет“ су изабрани да заобиђу проверу аргумента команде за монтирање енлигхтенмент_сис (уређај за монтирање мора да почне на /дев/ и да указује на постојећу датотеку, а три знака „/“ у тачки монтирања су наведена да би се постигла потребна величина путање).

Извор: опеннет.ру

Додај коментар