Varnarleysi í notendaumhverfi Enlightenment sem leyfir rótaraðgang

Varnarleysi hefur fundist í Enlightenment notendaumhverfinu (CVE-2022-37706) sem gæti gert réttindalausum staðbundnum notanda kleift að keyra kóða sem rót. Varnarleysið hefur ekki enn verið lagað (0-dagur), en það er nú þegar misnotkun á almenningi, prófuð í Ubuntu 22.04.

Vandamálið er í enlightenment_sys keyrslunni, sem kemur með suid rótfánanum og framkvæmir ákveðnar leyfilegar skipanir í gegnum system() kallið, eins og að tengja drifið með mount gagninu. Vegna rangrar virkni fallsins sem myndar strenginn sem er sendur í system() símtalið eru gæsalappir klipptir úr rökum ræstrar skipunar sem hægt er að nota til að keyra þinn eigin kóða. Til dæmis, þegar þú keyrir 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

vegna þess að tvöfaldar gæsalappir eru klipptar, í stað tilgreindrar skipunar '/bin/mount … "/dev/../tmp/;/tmp/exploit" /tmp///net', verður strengur án tvöfaldra gæsalappa send til system() aðgerðin ' /bin/mount … /dev/../tmp/;/tmp/exploit /tmp///net' sem mun valda því að skipunin '/tmp/exploit /tmp///net' verður framkvæmt sérstaklega í stað þess að vera meðhöndlað sem hluti af leiðinni að tækinu. Strengirnir "/dev/../tmp/" og "/tmp///net" eru valdir til að komast framhjá enlightenment_sys mount skipunarröksemdaprófun (tengitækið verður að byrja á /dev/ og benda á núverandi skrá, og þrír "/" við festingarpunktinn eru tilgreindir til að ná nauðsynlegri slóðastærð).

Heimild: opennet.ru

Bæta við athugasemd