Kerentanan dalam systemd-coredump yang memungkinkan seseorang menentukan isi memori program suid

Kerentanan (CVE-2022-4415) telah diidentifikasi dalam komponen systemd-coredump, yang memproses file inti yang dihasilkan setelah proses mogok, memungkinkan pengguna lokal yang tidak memiliki hak istimewa untuk menentukan isi memori dari proses istimewa yang berjalan dengan bendera root suid. Masalah konfigurasi default telah dikonfirmasi pada distribusi openSUSE, Arch, Debian, Fedora dan SLES.

Kerentanan ini disebabkan oleh kurangnya pemrosesan yang benar dari parameter sysctl fs.suid_dumpable di systemd-coredump, yang, jika disetel ke nilai default 2, memungkinkan pembuatan core dump untuk proses dengan flag suid. Dapat dipahami bahwa file inti dari proses suid yang ditulis oleh kernel harus memiliki hak akses yang ditetapkan agar hanya dapat dibaca oleh pengguna root. Utilitas systemd-coredump, yang dipanggil oleh kernel untuk menyimpan file inti, menyimpan file inti di bawah ID root, tetapi juga menyediakan akses baca berbasis ACL ke file inti berdasarkan ID pemilik yang pertama kali meluncurkan proses tersebut. .

Fitur ini memungkinkan Anda mengunduh file inti tanpa memperhatikan fakta bahwa program dapat mengubah ID pengguna dan dijalankan dengan hak istimewa yang lebih tinggi. Serangan tersebut bermuara pada fakta bahwa pengguna dapat meluncurkan aplikasi suid dan mengirimkannya sinyal SIGSEGV, dan kemudian memuat konten file inti, yang mencakup potongan memori dari proses selama penghentian yang tidak normal.

Misalnya, pengguna dapat menjalankan β€œ/usr/bin/su” dan di terminal lain menghentikan eksekusinya dengan perintah β€œkill -s SIGSEGV `pidof su`”, setelah itu systemd-coredump akan menyimpan file inti di /var /lib/systemd/ direktori coredump, mengatur ACL yang memungkinkan pembacaan oleh pengguna saat ini. Karena utilitas suid 'su' membaca konten /etc/shadow ke dalam memori, penyerang dapat memperoleh akses ke informasi tentang hash kata sandi semua pengguna di sistem. Utilitas sudo tidak rentan terhadap serangan, karena melarang pembuatan file inti melalui ulimit.

Menurut pengembang systemd, kerentanan muncul mulai dari systemd rilis 247 (November 2020), namun menurut peneliti yang mengidentifikasi masalah, rilis 246 juga terpengaruh. Kerentanan muncul jika systemd dikompilasi dengan perpustakaan libacl (secara default di semua distribusi populer). Perbaikan saat ini tersedia sebagai tambalan. Anda dapat melacak perbaikan distribusi di halaman berikut: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Sebagai solusi keamanan, Anda dapat mengatur sysctl fs.suid_dumpable ke 0, yang menonaktifkan pengiriman dump ke pengendali systemd-coredump.

Sumber: opennet.ru

Tambah komentar