Kerentanan ditemukan di systemd yang sudah dijelaskan di (CVE-2019-6454), apa memungkinkan untuk menyebabkan proses inisialisasi kontrol (PID1) diblokir saat mengirim pesan yang dibuat khusus ke pengguna yang tidak memiliki hak istimewa melalui D-Bus.
Los Pengembang Red Hat juga tidak mengecualikan kemungkinan menggunakan kerentanan untuk mengatur eksekusi kode dengan hak akses root., tetapi kemungkinan terakhir dari serangan semacam itu belum ditentukan.
Tentang systemd
Bagi yang belum tahu Systemd Aku bisa memberitahumu itu ini adalah sistem inisialisasi linux dan manajer layanan yang mencakup fitur-fitur seperti startup daemon on-demand, automount dan pemeliharaan titik mount, dukungan snapshot, dan pelacakan proses menggunakan grup kontrol Linux.
Systemd menyediakan daemon registri dan alat bantu serta utilitas lain untuk membantu tugas administrasi sistem umum. Lennart Poettering dan Kay Sievers menulis SystemD, terinspirasi oleh macOS launchd dan Upstart, dengan tujuan menciptakan sistem modern dan dinamis.
Secara khusus, systemd menyediakan kemampuan paralelisasi agresif dan logika kontrol layanan berbasis ketergantungan, yang memungkinkan layanan dimulai secara paralel dan mengarah ke waktu startup yang lebih cepat. Kedua aspek ini hadir di Upstart, tetapi ditingkatkan oleh systemd.
Systemd adalah sistem boot default untuk distribusi Linux utama, tetapi kompatibel dengan skrip startup SysV.
SysVinit adalah sistem inisialisasi yang mendahului systemd dan menggunakan pendekatan yang disederhanakan untuk memulai layanan. Systemd tidak hanya mengelola inisialisasi sistem, tetapi juga menyediakan alternatif untuk utilitas terkenal lainnya seperti cron dan syslog.
Tentang kerentanan systemd baru
Dengan memanipulasi ukuran pesan yang dikirim melalui D-Bus, penyerang dapat memindahkan penunjuk melebihi batas memori yang dialokasikan untuk tumpukan, melewati perlindungan "stack guard-page", yang didasarkan pada penggantian halaman memori di tepi yang memanggil pengecualian (kesalahan halaman).
Serangan yang berhasil ditunjukkan pada Ubuntu 18.10 dengan systemd 239 dan pada CentOS 7.6 dengan systemd 219.
Sebagai solusinya, kompilasi dapat digunakan di GCC dengan opsi "-fstack-clash-protection", yang digunakan secara default di Fedora 28 dan 29.
Perlu dicatat bahwa pada tahun 2014 penulis perpustakaan sistem MUSL menunjukkan di antara masalah arsitektur utama systemd inflasi yang berlebihan PID1 handler dan mempertanyakan kelayakan penerapan API pengontrol level PID1 untuk Link dengan Bus, karena ini adalah vektor yang serius untuk serangan dan dapat mempengaruhi keandalan seluruh sistem
Menurut seorang peneliti keamanan yang mengungkapkan kerentanan, perubahan penunjuk tumpukan hanya mungkin untuk halaman memori yang tidak digunakan (tidak ditetapkan), yang tidak memungkinkan untuk mengatur eksekusi kode dalam konteks proses PID1, tetapi memungkinkan penyerang untuk memulai kunci PID1 dengan transisi berikutnya dari kernel Linux ke status "panik" (dalam kasus pengontrol PID 1 kegagalan, seluruh sistem hang).
Dalam systemd, penangan sinyal dipasang yang mencoba untuk menangkap kesalahan dari proses PID1 (kesalahan segmentasi) dan memulai shell untuk pemulihan.
Tetapi karena, selama serangan, panggilan dibuat ke halaman memori yang tidak diduplikasi (tidak dialokasikan), kernel tidak dapat memanggil penangan sinyal ini dan hanya menghentikan proses dengan PID 1, yang pada gilirannya tidak Tidak mungkin untuk terus bekerja dan masuk ke status "panik", sehingga diperlukan booting ulang sistem.
Sudah ada solusi untuk masalah tersebut
Seperti masalah keamanan apa pun yang telah dijelaskan dan dilaporkan, publikasinya tidak dapat dibuat hingga masalah tersebut diselesaikan dan pembaruan patch kerentanan untuk SUSE / openSUSE, Fedora telah dirilis, juga untuk Ubuntu dan sebagian untuk Debian (Hanya Debian Stretch).
Meskipun masalah tetap tidak diperbaiki di RHEL.