Kerentanan dalam systemd-coredump yang membolehkan seseorang menentukan kandungan memori program suid

Kerentanan (CVE-2022-4415) telah dikenal pasti dalam komponen systemd-coredump, yang memproses fail teras yang dijana selepas proses ranap, membenarkan pengguna tempatan yang tidak mempunyai hak untuk menentukan kandungan memori proses istimewa yang berjalan dengan bendera akar suid. Isu konfigurasi lalai telah disahkan pada pengedaran openSUSE, Arch, Debian, Fedora dan SLES.

Kerentanan disebabkan oleh kekurangan pemprosesan yang betul bagi parameter sysctl fs.suid_dumpable dalam systemd-coredump, yang, apabila ditetapkan kepada nilai lalai 2, membolehkan penjanaan pembuangan teras untuk proses dengan bendera suid. Difahamkan bahawa fail teras proses suid yang ditulis oleh kernel mesti mempunyai hak akses yang ditetapkan untuk membenarkan pembacaan hanya oleh pengguna root. Utiliti systemd-coredump, yang dipanggil oleh kernel untuk menyimpan fail teras, menyimpan fail teras di bawah ID akar, tetapi juga menyediakan akses baca berasaskan ACL kepada fail teras berdasarkan ID pemilik yang pada asalnya melancarkan proses .

Ciri ini membolehkan anda memuat turun fail teras tanpa mengambil kira fakta bahawa program ini boleh menukar ID pengguna dan dijalankan dengan keistimewaan yang tinggi. Serangan itu berpunca daripada fakta bahawa pengguna boleh melancarkan aplikasi suid dan menghantarnya isyarat SIGSEGV, dan kemudian memuatkan kandungan fail teras, yang termasuk kepingan memori proses semasa penamatan yang tidak normal.

Sebagai contoh, pengguna boleh menjalankan "/usr/bin/su" dan di terminal lain menamatkan pelaksanaannya dengan arahan "kill -s SIGSEGV `pidof su`", selepas itu systemd-coredump akan menyimpan fail teras dalam /var /lib/systemd/ direktori coredump, menetapkan ACL untuknya yang membolehkan pembacaan oleh pengguna semasa. Memandangkan utiliti suid 'su' membaca kandungan /etc/shadow ke dalam ingatan, penyerang boleh mendapatkan akses kepada maklumat tentang cincang kata laluan semua pengguna pada sistem. Utiliti sudo tidak terdedah kepada serangan, kerana ia melarang penjanaan fail teras melalui ulimit.

Menurut pembangun systemd, kerentanan muncul bermula dengan keluaran systemd 247 (November 2020), tetapi menurut penyelidik yang mengenal pasti masalah itu, keluaran 246 juga terjejas. Kerentanan muncul jika systemd disusun dengan perpustakaan libacl (secara lalai dalam semua pengedaran popular). Pembetulan kini tersedia sebagai tampalan. Anda boleh menjejaki pembetulan dalam pengedaran pada halaman berikut: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Sebagai penyelesaian keselamatan, anda boleh menetapkan sysctl fs.suid_dumpable kepada 0, yang melumpuhkan penghantaran pembuangan kepada pengendali systemd-coredump.

Sumber: opennet.ru

Tambah komen