Kwetsbaarheid in de gebruikersomgeving van Enlightenment waardoor roottoegang mogelijk is

Er is een kwetsbaarheid (CVE-2022-37706) geïdentificeerd in de Enlightenment-gebruikersomgeving waardoor een lokale gebruiker zonder rechten code met rootrechten kan uitvoeren. De kwetsbaarheid is nog niet verholpen (0-day), maar er is al een exploit beschikbaar in het publieke domein, getest in Ubuntu 22.04.

Het probleem zit in het uitvoerbare bestand enlightenment_sys, dat wordt geleverd met de suid root-vlag en bepaalde toegestane opdrachten uitvoert, zoals het mounten van de schijf met het mount-hulpprogramma, via een aanroep naar system(). Vanwege de onjuiste werking van de functie die de string genereert die wordt doorgegeven aan de system()-aanroep, worden aanhalingstekens verwijderd uit de argumenten van de opdracht die wordt gestart, die kunnen worden gebruikt om uw eigen code uit te voeren. Wanneer u bijvoorbeeld mkdir -p /tmp/net uitvoert 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// / netto

vanwege het verwijderen van dubbele aanhalingstekens zal in plaats van het opgegeven commando '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' een string zonder dubbele aanhalingstekens worden weergegeven doorgegeven aan de systeem() functie ' /bin/mount … /dev/../tmp/;/tmp/exploit /tmp///net', wat het commando '/tmp/exploit /tmp///net zal veroorzaken ' moet afzonderlijk worden uitgevoerd in plaats van te worden verwerkt als onderdeel van het pad naar het apparaat. De regels "/dev/../tmp/" en "/tmp///net" zijn gekozen om de argumentcontrole voor het mount-commando in enlightenment_sys te omzeilen (het mount-apparaat moet beginnen met /dev/ en naar een bestaand bestand verwijzen, en de drie "/"-tekens op het koppelpunt zijn gespecificeerd om de vereiste padgrootte te bereiken).

Bron: opennet.ru

Voeg een reactie