En sÄrbarhet har identifierats i anvÀndarmiljön Enlightenment (CVE-2022-37706) som gör det möjligt för en icke-privilegerad lokal anvÀndare att köra kod med root-rettigheter. SÄrbarheten Àr fortfarande inte ÄtgÀrdad (0-day), men en exploitering finns redan tillgÀnglig och har testats i Ubuntu 22.04.
Problemet finns i körbarheten enlightenment_sys, som kommer med suid root-flaggan och kör olika tillÄtna kommandon via system() anrop, sÄsom att montera en enhet med kommandot mount. PÄ grund av en felaktig funktion som skapar strÀngen som skickas till system() tas citattecken bort frÄn argumenten i det körda kommandot, vilket kan utnyttjas för att köra egen kod. Till exempel, vid körning av 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
PĂ„ grund av borttagning av dubbla citattecken kommer strĂ€ngen som skickas till system()-funktionen att se ut som â\/bin\/mount ⊠\/dev\/..\/tmp\/;\/tmp\/exploit \/tmp\/\/netâ istĂ€llet för den angivna kommandot â\/bin\/mount ⊠"\/dev\/..\/tmp\/;\/tmp\/exploit" \/tmp\/\/netâ, vilket leder till att kommandot â\/tmp\/exploit \/tmp\/\/netâ körs separat istĂ€llet för att bearbetas som en del av sökvĂ€gen till enheten. StrĂ€ngarna "\/dev\/..\/tmp\/" och "\/tmp\/\/net" Ă€r valda för att kringgĂ„ kontroll av argumenten till mount-kommandot i enlightenment_sys (monteringsenheten mĂ„ste börja med \/dev\/ och ange en befintlig fil, och de tre tecknen "\/" i monteringspunkten Ă€r angivna för att nĂ„ den nödvĂ€ndiga vĂ€gstorleken).
KĂ€lla: opennet.ru
