Vulnerabilitat a l'entorn d'usuari d'Enlightenment que us permet obtenir drets root

S'ha identificat una vulnerabilitat (CVE-2022-37706) a l'entorn d'usuari d'Enlightenment que permet a un usuari local sense privilegis executar codi amb drets root. La vulnerabilitat encara no s'ha solucionat (0-day), però ja hi ha un exploit disponible al domini públic, provat a Ubuntu 22.04.

El problema es troba a l'executable enlightenment_sys, que s'envia amb el senyal d'arrel suid i realitza determinades ordres permeses, com ara muntar la unitat amb la utilitat de muntatge, mitjançant una crida a system(). A causa del funcionament incorrecte de la funció que genera la cadena passada a la crida system(), les cometes es tallen dels arguments de l'ordre que s'està llançant, que es poden utilitzar per executar el vostre propi codi. Per exemple, quan s'executa 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

a causa de l'eliminació de cometes dobles, en comptes de l'ordre especificada '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' es farà una cadena sense cometes dobles passat a la funció system() '/bin/mount... /dev/../tmp/;/tmp/exploit /tmp///net', que provocarà l'ordre '/tmp/exploit /tmp///net ' s'executarà per separat en lloc de processar-se com a part del camí al dispositiu. Les línies "/dev/../tmp/" i "/tmp///net" es trien per evitar la comprovació d'arguments de l'ordre mount a enlightenment_sys (el dispositiu de muntatge ha de començar amb /dev/ i apuntar a un fitxer existent, i els tres caràcters "/" al punt de muntatge s'especifiquen per aconseguir la mida de camí necessària).

Font: opennet.ru

Afegeix comentari