Baru-baru ini berita telah dikeluarkan di internet mengenai penemuan kelemahan baharu dalam Linux yang disenaraikan sebagai "Keterukan Tinggi" yang mempengaruhi semua kernel sejak versi 5.8, serta derivatif, termasuk Android.
Dikenali sebagai Dirty Pipe membenarkan data ditimpa dalam fail baca sahaja dan boleh membawa kepada peningkatan keistimewaan dengan menyuntik kod ke dalam proses "root".
Walaupun ia telah ditambal ke dalam kernel Linux talian utama, pepijat itu boleh dijadikan senjata dalam bentuk eksploitasi peningkatan keistimewaan pada semua peranti yang menjalankan kernel Linux versi 5.8 atau lebih baru.
Ini juga bermakna bahawa sekumpulan telefon pintar Android yang baru dikeluarkan, seperti Samsung Galaxy S22 dan Google Pixel 6, juga terdedah, sehingga setiap peranti menerima tampung kernel yang sesuai daripada OEM masing-masing.
Mengenai Paip Kotor
Kelemahannya ialah didedahkan oleh penyelidik keselamatan Max Kellerman dan dikatalogkan sebagai (CVE-2022-0847), mengambil masa beberapa bulan untuk mencari eksploitasi bukti konsep.
Kerentanan itu membolehkan pengguna yang tidak mempunyai hak untuk menyuntik dan menulis ganti data dalam fail baca sahaja, termasuk proses SUID yang berjalan sebagai akar. Nama panggilan bahasa sehari-hari nampaknya adalah permainan pepijat yang terkenal itu Lembu kotor dan mekanisme Linux yang dipanggil pipelining untuk penghantaran mesej antara proses, kerana yang kedua digunakan semasa rutin mengeksploitasi.
Semuanya bermula setahun lalu dengan tiket sokongan yang berkaitan dengan fail yang rosak. Seorang pelanggan mengadu bahawa log akses yang dimuat turun tidak dapat dibongkar. Dan sememangnya, terdapat fail log yang rosak pada salah satu pelayan log; ia mungkin tidak dimampatkan, tetapi gzip melaporkan ralat CRC. Saya tidak dapat menjelaskan mengapa ia rosak, tetapi saya menganggap proses pemisahan setiap malam telah ranap dan menghasilkan fail yang rosak. Saya membetulkan CRC fail secara manual, menutup tiket, dan tidak lama kemudian melupakan masalah itu.
Selepas berbulan-bulan analisis, penyelidik akhirnya mendapati bahawa fail pelanggan yang rosak adalah hasil daripada pepijat dalam kernel Linux. Dia menemui cara untuk mengeksploitasi Dirty Pipe untuk membenarkan sesiapa sahaja yang mempunyai akaun, termasuk akaun "tiada sesiapa" yang mempunyai keistimewaan, menambah kunci SSH pada akaun pengguna akar.
Untuk mencetuskan kelemahan, Kellerman berkongsi bukti konsepnya, penyerang mesti mempunyai kebenaran membaca. Selain itu, tatal mestilah tidak berada pada sempadan halaman, penulisan tidak boleh melintasi sempadan halaman dan fail tidak boleh diubah saiznya.
Untuk mengeksploitasi kelemahan ini, anda mesti: mencipta paip, mengisi paip dengan data sewenang-wenangnya (dengan menetapkan bendera PIPE_BUF_FLAG_CAN_MERGE pada semua entri dalam gelang), mengosongkan paip (meninggalkan bendera ditetapkan pada semua contoh struktur pipe_buffer dalam struktur daripada cincin pipe_inode_info), gabungkan data daripada fail sasaran (dibuka dengan O_RDONLY) ke dalam paip sejurus sebelum mengimbangi sasaran, dan tulis data sewenang-wenangnya ke paip.
Dirty Pipe juga menjejaskan mana-mana versi Android berdasarkan salah satu versi kernel Linux yang terdedah. Oleh kerana Android sangat berpecah-belah, model peranti yang terjejas tidak dapat dijejaki secara seragam.
Menurut Kellerman, Google menggabungkan pembetulan pepijatnya dengan kernel Android bulan lepas, sejurus selepas ia dibetulkan dengan keluaran kernel Linux versi 5.16.11, 5.15.25 dan 5.10.102.
Setelah berkata demikian, kita mungkin perlu menunggu sedikit sebelum OEM mula melancarkan kemas kini Android yang mengandungi pembetulan. Pixel 6 Google, sebagai contoh, masih terdedah, tetapi pengguna lanjutan boleh mengurangkan kecacatan dengan memasang kernel selepas pasaran yang ditambal tersuai sebagai pilihan alternatif.
Pembangun kernel Linux mengeluarkan pembetulan (5.16.11, 5.15.25, 5.10.102) pada 23 Februari, manakala Google menampal kernel Android pada 24 Februari. Kellermann dan pakar lain membandingkan kelemahan kepada CVE-2016-5195 "Lembu Kotor" dan mereka berkata ia lebih mudah untuk dieksploitasi.
Akhirnya, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh melihat butirannya Dalam pautan berikut.