University of Minnesota ditangguhkan dari pengembangan kernel Linux karena mengirimkan patch yang meragukan

Greg Kroah-Hartman, yang bertanggung jawab untuk menjaga kestabilan cabang kernel Linux, memutuskan untuk melarang penerimaan perubahan apa pun yang datang dari University of Minnesota ke dalam kernel Linux, dan juga mengembalikan semua patch yang diterima sebelumnya dan meninjaunya kembali. Alasan pemblokiran adalah aktivitas kelompok penelitian yang mempelajari kemungkinan memasukkan kerentanan tersembunyi ke dalam kode proyek sumber terbuka. Kelompok ini mengirimkan tambalan yang berisi berbagai jenis bug, mengamati reaksi komunitas, dan mempelajari cara untuk menipu proses peninjauan perubahan. Menurut Greg, melakukan eksperimen semacam itu untuk memperkenalkan perubahan yang berbahaya adalah tindakan yang tidak dapat diterima dan tidak etis.

Alasan pemblokiran adalah karena anggota grup ini mengirimkan tambalan yang menambahkan tanda centang penunjuk untuk menghilangkan kemungkinan panggilan ganda dari fungsi "gratis". Mengingat konteks penggunaan penunjuk, pemeriksaan tersebut tidak ada gunanya. Tujuan mengirimkan patch adalah untuk melihat apakah perubahan yang salah akan lolos tinjauan oleh pengembang kernel. Selain patch ini, upaya lain yang dilakukan oleh pengembang dari University of Minnesota telah muncul untuk membuat perubahan yang meragukan pada kernel, termasuk yang terkait dengan penambahan kerentanan tersembunyi.

Peserta yang mengirimkan patch mencoba membenarkan dirinya dengan mengatakan bahwa dia sedang menguji penganalisa statis baru dan perubahan disiapkan berdasarkan hasil pengujian di dalamnya. Namun Greg menarik perhatian pada fakta bahwa perbaikan yang diusulkan tidak khas untuk kesalahan yang terdeteksi oleh penganalisis statis, dan semua tambalan yang dikirim tidak memperbaiki apa pun. Mengingat bahwa kelompok penelitian tersebut telah mencoba melakukan perbaikan terhadap kerentanan tersembunyi di masa lalu, jelas bahwa mereka terus melanjutkan eksperimen mereka dengan komunitas pengembangan kernel.

Menariknya, di masa lalu, pemimpin kelompok yang melakukan eksperimen terlibat dalam perbaikan kerentanan yang sah, misalnya, mengidentifikasi kebocoran informasi di tumpukan USB (CVE-2016-4482) dan subsistem jaringan (CVE-2016-4485) . Dalam studi tentang penyebaran kerentanan tersembunyi, tim dari University of Minnesota mengutip contoh CVE-2019-12819, kerentanan yang disebabkan oleh patch kernel yang dirilis pada tahun 2014. Perbaikan tersebut menambahkan panggilan ke put_device ke blok penanganan kesalahan di mdio_bus, tetapi lima tahun kemudian diketahui bahwa manipulasi tersebut mengarah ke akses ke blok memori setelah dibebaskan (“gunakan-setelah-bebas”).

Pada saat yang sama, penulis penelitian mengklaim bahwa dalam pekerjaan mereka, mereka merangkum data dari 138 patch yang menimbulkan kesalahan dan tidak terkait dengan peserta penelitian. Upaya untuk mengirim patch mereka sendiri dengan kesalahan terbatas pada korespondensi email, dan perubahan tersebut tidak masuk ke Git (jika, setelah mengirim patch melalui email, pengelola menganggap patch tersebut normal, maka dia diminta untuk tidak menyertakan perubahan tersebut karena ada adalah kesalahan, setelah itu mereka mengirimkan patch yang benar).

Tambahan 1: Dilihat dari aktivitas pembuat patch yang dikritik, dia telah lama mengirimkan patch ke berbagai subsistem kernel. Misalnya, driver radeon dan nouveau baru-baru ini mengadopsi perubahan dengan panggilan ke pm_runtime_put_autosuspend(dev->dev) di blok kesalahan, mungkin menyebabkan buffer digunakan setelah mengosongkan memori yang terkait dengannya.

Tambahan 2: Greg telah membatalkan 190 komitmen yang terkait dengan "@umn.edu" dan memulai peninjauan ulang terhadap komitmen tersebut. Masalahnya adalah anggota dengan alamat "@umn.edu" tidak hanya bereksperimen dengan membuat patch yang meragukan, namun juga menambal kerentanan nyata, dan membatalkan perubahan dapat mengakibatkan kembalinya masalah keamanan yang telah ditambal sebelumnya. Beberapa pengelola telah memeriksa ulang perubahan yang dikembalikan dan tidak menemukan masalah, namun salah satu pengelola menunjukkan bahwa salah satu tambalan yang dikirimkan kepadanya mengalami kesalahan.

Sumber: opennet.ru

Tambah komentar