Kerentanan dalam persekitaran pengguna Enlightenment yang membolehkan anda memperoleh hak akar

Kerentanan (CVE-2022-37706) telah dikenal pasti dalam persekitaran pengguna Enlightenment yang membenarkan pengguna tempatan yang tidak mempunyai hak untuk melaksanakan kod dengan hak root. Kerentanan masih belum diperbaiki (0 hari), tetapi sudah ada eksploitasi yang tersedia dalam domain awam, diuji dalam Ubuntu 22.04.

Masalahnya ialah dalam enlightenment_sys boleh laku, yang dihantar dengan bendera akar suid dan melaksanakan arahan tertentu yang dibenarkan, seperti memasang pemacu dengan utiliti pelekap, melalui panggilan ke sistem(). Disebabkan oleh pengendalian fungsi yang salah yang menjana rentetan yang dihantar kepada panggilan sistem(), petikan dipotong daripada hujah perintah yang dilancarkan, yang boleh digunakan untuk menjalankan kod anda sendiri. Sebagai contoh, apabila menjalankan 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// / bersih

disebabkan oleh penyingkiran petikan berganda, bukannya arahan yang ditentukan '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' rentetan tanpa petikan berganda akan dihantar ke fungsi sistem() ' /bin/mount … /dev/../tmp/;/tmp/exploit /tmp///net', yang akan menyebabkan arahan '/tmp/exploit /tmp///net ' untuk dilaksanakan secara berasingan dan bukannya diproses sebagai sebahagian daripada laluan ke peranti. Baris "/dev/../tmp/" dan "/tmp///net" dipilih untuk memintas penyemakan argumen bagi arahan pelekap dalam enlightenment_sys (peranti pelekap mesti bermula dengan /dev/ dan menunjuk ke fail sedia ada, dan tiga aksara "/" pada titik pelekap ditentukan untuk mencapai saiz laluan yang diperlukan).

Sumber: opennet.ru

Tambah komen