Vulnerabilitatea în mediul de utilizator Enlightenment care vă permite să obțineți drepturi de root

O vulnerabilitate (CVE-2022-37706) a fost identificată în mediul de utilizator Enlightenment care permite unui utilizator local neprivilegiat să execute cod cu drepturi root. Vulnerabilitatea nu a fost încă remediată (0-day), dar există deja un exploit disponibil în domeniul public, testat în Ubuntu 22.04.

Problema este în executabilul enlightenment_sys, care este livrat cu indicatorul suid root și execută anumite comenzi permise, cum ar fi montarea unității cu utilitarul de montare, printr-un apel la system(). Din cauza funcționării incorecte a funcției care generează șirul transmis apelului system(), ghilimelele sunt tăiate din argumentele comenzii care se lansează, care pot fi folosite pentru a rula propriul cod. De exemplu, când rulați 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// / net

din cauza eliminării ghilimelelor duble, în locul comenzii specificate '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' va fi un șir fără ghilimele duble transmisă la funcția system() „ /bin/mount … /dev/../tmp/;/tmp/exploit /tmp///net”, care va provoca comanda „/tmp/exploit /tmp///net ' să fie executat separat în loc să fie procesat ca parte a căii către dispozitiv. Liniile „/dev/../tmp/” și „/tmp///net” sunt alese pentru a ocoli verificarea argumentelor pentru comanda mount în enlightenment_sys (dispozitivul de montare trebuie să înceapă cu /dev/ și să indice un fișier existent, iar cele trei caractere „/” din punctul de montare sunt specificate pentru a atinge dimensiunea necesară a căii).

Sursa: opennet.ru

Adauga un comentariu