Vulnerabilità nell'ambiente utente di Enlightenment che consente l'accesso root

È stata identificata una vulnerabilità (CVE-2022-37706) nell'ambiente utente di Enlightenment che consente a un utente locale non privilegiato di eseguire codice con diritti di root. La vulnerabilità non è stata ancora risolta (0-day), ma esiste già un exploit disponibile di pubblico dominio, testato in Ubuntu 22.04.

Il problema è nell'eseguibile lightingment_sys, che viene fornito con il flag suid root ed esegue alcuni comandi consentiti, come montare l'unità con l'utilità mount, tramite una chiamata a system(). A causa del funzionamento errato della funzione che genera la stringa passata alla chiamata system(), dagli argomenti del comando avviato vengono tagliate le virgolette, che possono essere utilizzate per eseguire il proprio codice. Ad esempio, quando si esegue mkdir -p /tmp/net mkdir -p "/tmp/;/tmp/exploit" echo "/bin/sh" > /tmp/exploit chmod a+x /tmp/exploit lightingment_sys /bin/mount - o noexec,nosuid,utf8,nodev,iocharset=utf8,utf8=0,utf8=1,uid=$(id -u), “/dev/../tmp/;/tmp/exploit” /tmp// /netto

a causa della rimozione delle virgolette doppie, invece del comando specificato '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' verrà visualizzata una stringa senza virgolette doppie passato alla funzione system() ' /bin/mount … /dev/../tmp/;/tmp/exploit /tmp///net', che causerà il comando '/tmp/exploit /tmp///net ' da eseguire separatamente invece di essere elaborato come parte del percorso del dispositivo. Le righe "/dev/../tmp/" e "/tmp///net" vengono scelte per ignorare il controllo degli argomenti per il comando mount in illuminazione_sys (il dispositivo di montaggio deve iniziare con /dev/ e puntare a un file esistente, e i tre caratteri "/" nel punto di montaggio vengono specificati per ottenere la dimensione del percorso richiesta).

Fonte: opennet.ru

Aggiungi un commento