Kerentanan dalam Lingkungan Pengguna Pencerahan yang Mengizinkan Akses Root

Kerentanan (CVE-2022-37706) telah diidentifikasi di lingkungan pengguna Pencerahan yang memungkinkan pengguna lokal yang tidak memiliki hak istimewa untuk mengeksekusi kode dengan hak root. Kerentanannya belum diperbaiki (0 hari), tetapi sudah ada eksploitasi yang tersedia di domain publik, diuji di Ubuntu 22.04.

Masalahnya ada pada executable pencerahan_sys, yang dikirimkan dengan flag suid root dan melakukan perintah tertentu yang diizinkan, seperti memasang drive dengan utilitas mount, melalui panggilan ke system(). Karena pengoperasian fungsi yang menghasilkan string yang diteruskan ke panggilan system() salah, tanda kutip dipotong dari argumen perintah yang diluncurkan, yang dapat digunakan untuk menjalankan kode Anda sendiri. Misalnya, saat menjalankan mkdir -p /tmp/net mkdir -p "/tmp/;/tmp/exploit" echo "/bin/sh" > /tmp/exploit chmod a+x /tmp/exploit pencerahan_sys /bin/mount - o noexec,nosuid,utf8,nodev,iocharset=utf8,utf8=0,utf8=1,uid=$(id -u), β€œ/dev/../tmp/;/tmp/exploit” /tmp// / bersih

karena penghapusan tanda kutip ganda, alih-alih perintah yang ditentukan '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' string tanpa tanda kutip ganda akan menjadi diteruskan ke fungsi system() ' /bin/mount … /dev/../tmp/;/tmp/exploit /tmp///net', yang akan menyebabkan perintah '/tmp/exploit /tmp///net ' untuk dieksekusi secara terpisah alih-alih diproses sebagai bagian dari jalur ke perangkat. Baris "/dev/../tmp/" dan "/tmp///net" dipilih untuk mengabaikan pemeriksaan argumen untuk perintah mount di enlightment_sys (perangkat mount harus dimulai dengan /dev/ dan menunjuk ke file yang ada, dan tiga karakter "/" pada titik pemasangan ditentukan untuk mencapai ukuran jalur yang diperlukan).

Sumber: opennet.ru

Tambah komentar