Vulnérabilité dans l'environnement utilisateur Enlightenment permettant l'accès root

Une vulnérabilité (CVE-2022-37706) a été identifiée dans l'environnement utilisateur Enlightenment qui permet à un utilisateur local non privilégié d'exécuter du code avec les droits root. La vulnérabilité n'a pas encore été corrigée (0 jour), mais il existe déjà un exploit disponible dans le domaine public, testé dans Ubuntu 22.04.

Le problème réside dans l'exécutable illumination_sys, qui est livré avec l'indicateur suid root et exécute certaines commandes autorisées, telles que le montage du lecteur avec l'utilitaire de montage, via un appel à system(). En raison du fonctionnement incorrect de la fonction qui génère la chaîne passée à l'appel system(), les guillemets sont coupés des arguments de la commande en cours de lancement, qui peuvent être utilisés pour exécuter votre propre code. Par exemple, lors de l'exécution de mkdir -p /tmp/net mkdir -p "/tmp/;/tmp/exploit" echo "/bin/sh" > /tmp/exploit chmod a+x /tmp/exploit illumination_sys /bin/mount - o noexec,nosuid,utf8,nodev,iocharset=utf8,utf8=0,utf8=1,uid=$(id -u), "/dev/../tmp/;/tmp/exploit" /tmp// / filet

en raison de la suppression des guillemets doubles, au lieu de la commande spécifiée '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net', une chaîne sans guillemets doubles sera passé à la fonction system() ' /bin/mount … /dev/../tmp/;/tmp/exploit /tmp///net', ce qui provoquera la commande '/tmp/exploit /tmp///net ' à exécuter séparément au lieu d'être traité dans le cadre du chemin d'accès au périphérique. Les lignes "/dev/../tmp/" et "/tmp///net" sont choisies pour contourner la vérification des arguments pour la commande de montage dans illumination_sys (le périphérique de montage doit commencer par /dev/ et pointer vers un fichier existant, et les trois caractères "/" au point de montage sont spécifiés pour obtenir la taille de chemin requise).

Source: opennet.ru

Ajouter un commentaire