Ranjivost u korisničkom okruženju Enlightenment koja vam omogućuje stjecanje root prava

Ranjivost (CVE-2022-37706) identificirana je u korisničkom okruženju Enlightenment koja omogućuje nepovlaštenom lokalnom korisniku izvršavanje koda s root pravima. Ranjivost još nije popravljena (0 dana), ali već postoji eksploatacija dostupna u javnoj domeni, testirana u Ubuntu 22.04.

Problem je u izvršnoj datoteki enlightenment_sys, koja se isporučuje sa suid root zastavom i izvodi određene dopuštene naredbe, kao što je montiranje pogona pomoću uslužnog programa za montiranje, putem poziva sustavu(). Zbog neispravnog rada funkcije koja generira string proslijeđen pozivu system(), navodnici se izrezuju iz argumenata naredbe koja se pokreće, što se može koristiti za pokretanje vlastitog koda. Na primjer, kada se izvodi 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// / neto

zbog uklanjanja dvostrukih navodnika, umjesto navedene naredbe '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' bit će niz bez dvostrukih navodnika proslijeđeno funkciji system() ' /bin/mount … /dev/../tmp/;/tmp/exploit /tmp///net', što će uzrokovati naredbu '/tmp/exploit /tmp///net ' izvršiti zasebno umjesto da se obrađuje kao dio puta do uređaja. Linije "/dev/../tmp/" i "/tmp///net" odabrane su da zaobiđu provjeru argumenata za naredbu montiranja u enlightenment_sys (uređaj za montiranje mora započeti s /dev/ i upućivati ​​na postojeću datoteku, a tri znaka "/" na točki montiranja navedena su kako bi se postigla potrebna veličina staze).

Izvor: opennet.ru

Dodajte komentar