Neaizsargātība Enlightenment lietotāju vidē, kas ļauj iegūt root tiesības

Enlightenment lietotāju vidē ir identificēta ievainojamība (CVE-2022-37706), kas ļauj nepiederīgam lokālam lietotājam izpildīt kodu ar root tiesībām. Ievainojamība vēl nav novērsta (0 dienu), taču publiskajā domēnā jau ir pieejams izlietojums, kas pārbaudīts Ubuntu 22.04.

Problēma ir izpildāmajā failā enlightenment_sys, kas tiek piegādāts ar suid saknes karogu un izpilda noteiktas atļautās komandas, piemēram, montējot disku ar mount utilītu, izmantojot izsaukumu uz system (). Tā kā funkcija, kas ģenerē sistēmas() izsaukumam nodoto virkni, darbojas nepareizi, no palaižamās komandas argumentiem tiek izgrieztas pēdiņas, kuras var izmantot, lai palaistu savu kodu. Piemēram, palaižot mkdir -p /tmp/net mkdir -p "/tmp/;/tmp/exploit" echo "/bin/sh" > /tmp/exploit chmod a+x /tmp/exploit enlightenment_sys /bin/mount - o noexec,nosuid,utf8,nodev,iocharset=utf8,utf8=0,utf8=1,uid=$(id -u), “/dev/../tmp/;/tmp/exploit” /tmp// / tīkls

dubultpēdiņu noņemšanas dēļ norādītās komandas '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' vietā tiks izmantota virkne bez dubultpēdiņām tiek nodota sistēmai () funkcijai ' /bin/mount … /dev/../tmp/;/tmp/exploit /tmp///net', kas izraisīs komandu '/tmp/exploit /tmp///net ' jāizpilda atsevišķi, nevis jāapstrādā kā daļa no ceļa uz ierīci. Rindas "/dev/../tmp/" un "/tmp///net" ir izvēlētas, lai apietu mount komandas argumentu pārbaudi programmā enlightenment_sys (montāžas ierīcei jāsākas ar /dev/ un jānorāda uz esošu failu, un trīs "/" rakstzīmes piestiprināšanas punktā ir norādītas, lai sasniegtu nepieciešamo ceļa izmēru).

Avots: opennet.ru

Pievieno komentāru