Pagkahuyang sa Enlightenment user environment nga nagtugot kanimo nga makakuha og mga katungod sa gamut

Ang usa ka kahuyang (CVE-2022-37706) giila sa Enlightenment user environment nga nagtugot sa usa ka walay pribilehiyo nga lokal nga tiggamit sa pagpatuman sa code nga adunay mga katungod sa gamut. Ang pagkahuyang wala pa naayo (0-adlaw), apan adunay na usa ka pagpahimulos nga magamit sa publiko nga domain, gisulayan sa Ubuntu 22.04.

Ang problema anaa sa enlightenment_sys executable, nga gipadala uban ang suid root flag ug naghimo sa pipila ka gitugutan nga mga sugo, sama sa pag-mount sa drive gamit ang mount utility, pinaagi sa tawag sa system(). Tungod sa dili husto nga operasyon sa function nga nagmugna sa string nga gipasa sa sistema () nga tawag, ang mga kinutlo giputol gikan sa mga argumento sa command nga gilunsad, nga magamit sa pagpadagan sa imong kaugalingong code. Pananglitan, kung nagdagan 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// / pukot

tungod sa pagtangtang sa dobleng mga kinutlo, imbes sa espesipikong sugo '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' ang usa ka string nga walay double quotes mahimong gipasa sa system() function ' /bin/mount ... /dev/../tmp/;/tmp/exploit /tmp///net', nga maoy hinungdan sa command '/tmp/exploit /tmp///net ' nga ipatuman nga gilain imbis nga iproseso isip bahin sa agianan sa aparato. Ang mga linya nga "/ dev/../tmp/" ug "/tmp///net" gipili aron laktawan ang argumento sa pagsusi sa mount command sa enlightenment_sys (ang mount device kinahanglang magsugod sa / dev/ ug itudlo ang kasamtangan nga file, ug ang tulo ka "/" nga mga karakter sa mount point gipiho aron makab-ot ang gikinahanglan nga gidak-on sa agianan).

Source: opennet.ru

Idugang sa usa ka comment