Linux telah digigit oleh kerentanan paling parahnya selama bertahun-tahun

Linux telah digigit oleh kerentanan paling parahnya selama bertahun-tahun

Fanciful illustration of a shark attacking ones and zeroes.

Linux memiliki kerentanan tingkat tinggi lainnya yang memudahkan pengguna yang tidak dipercaya untuk mengeksekusi kode yang mampu melakukan sejumlah tindakan jahat termasuk menginstal pintu belakang, membuat akun pengguna yang tidak sah, dan memodifikasi skrip atau binari yang digunakan oleh layanan atau aplikasi istimewa. Dirty Pipe, demikian nama kerentanannya, adalah salah satu ancaman Linux paling serius yang akan diungkapkan sejak 2016, tahun tingkat keparahan tinggi dan mudah- untuk mengeksploitasi kelemahan Linux (bernama Sapi Kotor) terungkap karena digunakan untuk meretas server peneliti. Para peneliti pada tahun 2016 mendemonstrasikan cara mengeksploitasi Sapi Kotor untuk melakukan root pada ponsel Android apa pun terlepas dari versi OS selulernya. Sebelas bulan kemudian, para peneliti menemukan 1.200 aplikasi Android di pasar pihak ketiga yang secara jahat mengeksploitasi kelemahan untuk melakukan hal itu.

Ketika Tidak ada yang menjadi kuat

Nama Dirty Pipe dimaksudkan untuk menandakan kesamaan dengan Dirty Cow dan memberikan petunjuk tentang asal-usul kerentanan baru. “Pipe” mengacu pada pipa, mekanisme Linux untuk satu proses OS untuk mengirim data ke proses lain. Intinya, pipeline adalah dua atau lebih proses yang dirantai bersama sehingga teks keluaran dari satu proses (stdout) dilewatkan langsung sebagai input (stdin) ke proses berikutnya.

Dilacak sebagai CVE-2022-0847, kerentanan terungkap ketika seorang peneliti untuk pembuat situs web CM4all sedang memecahkan masalah serangkaian file rusak yang terus muncul di mesin Linux pelanggan. Setelah berbulan-bulan analisis, peneliti akhirnya menemukan bahwa file rusak pelanggan adalah hasil dari bug di kernel Linux.

Peneliti—Max Kellermann dari perusahaan induk CM4all, Ionos—akhirnya menemukan cara mempersenjatai kerentanan untuk memungkinkan siapa pun yang memiliki akun—termasuk akun “tidak ada” yang paling tidak memiliki hak istimewa—untuk menambahkan kunci SSH ke akun pengguna root. Dengan itu, pengguna yang tidak tepercaya dapat mengakses server dari jarak jauh dengan jendela SSH yang memiliki hak akses root penuh.

Comments included with Kellermann's PoC.

Memperbesar / Komentar disertakan dengan PoC Kellermann.

Peneliti lain dengan cepat menunjukkan bahwa pembuatan kunci SSH yang tidak sah hanyalah salah satu dari banyak tindakan jahat yang dapat dilakukan penyerang saat mengeksploitasi kerentanan. Program ini, misalnya, membajak biner SUID untuk membuat shell root, sementara yang satu ini memungkinkan pengguna yang tidak dipercaya untuk menimpa data dalam file read-only:

Tindakan jahat lainnya yang diaktifkan oleh Dirty Pipe termasuk membuat tugas cron yang berjalan sebagai pintu belakang, menambahkan akun pengguna baru ke /etc/passwd + /etc/shadow (memberikan hak akses root akun baru), atau memodifikasi skrip atau biner digunakan oleh layanan istimewa.

“Ini sama parahnya dengan kerentanan kernel lokal,” Brad Spengler, presiden Keamanan Sumber Terbuka , tulis dalam sebuah email. “Sama seperti Dirty Cow, pada dasarnya tidak ada cara untuk menguranginya, dan ini melibatkan fungsionalitas inti kernel Linux.” Kerentanan pertama kali muncul di Linux kernel versi 5.8, yang dirilis pada Agustus 2020. Kerentanan ini bertahan hingga bulan lalu, ketika telah diperbaiki dengan rilis versi 5.16.11, 5.15.25 dan 5.10.102. Hampir semua distribusi Linux terpengaruh.

Melempar kunci pas di AndroidComments included with Kellermann's PoC.

Dirty Pipe juga menimpa setiap rilis Android yang didasarkan pada salah satu versi kernel Linux yang rentan. Karena Android sangat terfragmentasi, model perangkat yang terpengaruh tidak dapat dilacak secara seragam. Versi Android terbaru untuk Pixel 6 dan Samsung Galaxy S22, misalnya, menjalankan 5.10.43, yang berarti mereka rentan. Pixel 4 di Android 12, sementara itu, menjalankan 4.14, yang tidak terpengaruh. Pengguna Android dapat memeriksa versi kernel mana yang digunakan perangkat mereka dengan membuka Pengaturan> Tentang ponsel> Versi Android.

“Kerentanan Dirty Pipe sangat serius karena memungkinkan penyerang untuk menimpa — sementara atau permanen — file pada sistem yang seharusnya tidak dapat mereka ubah,” Christoph Hebeisen, kepala penelitian keamanan di penyedia keamanan seluler Lookout, menulis dalam email. “Penyerang dapat menggunakan ini untuk mengubah perilaku proses istimewa, secara efektif memperoleh kemampuan untuk mengeksekusi kode arbitrer dengan hak istimewa sistem yang luas.” The Lookout Peneliti mengatakan kerentanan dapat dieksploitasi pada handset Android melalui aplikasi berbahaya yang meningkatkan hak istimewanya, yang secara default seharusnya dibatasi. Cara lain untuk menyerang, katanya, adalah dengan menggunakan eksploitasi yang berbeda untuk mendapatkan eksekusi kode terbatas (misalnya, dengan hak sistem dari aplikasi sah yang diretas) dan menggabungkannya dengan Dirty Pipe sehingga kode memperoleh root yang tidak terkekang. Sementara Kellermann mengatakan bahwa Google menggabungkan perbaikan bug dengan kernel Android pada bulan Februari, tidak ada indikasi versi Android berdasarkan rilis rentan dari kernel Linux yang tetap. Pengguna harus berasumsi bahwa perangkat apa pun yang menjalankan versi Android berdasarkan versi kernel Linux yang rentan rentan terhadap Dirty Pipe. Perwakilan Google tidak menanggapi email yang meminta komentar.
Baca selengkapnya