Membersihkan Kernel Linux dari Kode yang Mengubah Perilaku untuk Proses yang Dimulai dengan X

Jason A. Donenfeld, penulis VPN WireGuard, menarik perhatian pengembang ke peretasan kotor yang ada dalam kode kernel Linux yang mengubah perilaku proses yang namanya diawali dengan karakter "X". Sekilas, perbaikan seperti ini biasanya diterapkan di rootkit untuk meninggalkan celah tersembunyi dalam pengikatan proses, tetapi analisis menunjukkan bahwa perubahan ditambahkan pada 2019 untuk memperbaiki sementara pelanggaran kompatibilitas ruang pengguna yang muncul, sesuai dengan prinsip bahwa perubahan pada kernel seharusnya tidak merusak kompatibilitas aplikasi.

Masalah muncul saat mencoba menggunakan mekanisme perubahan mode video atom di driver DDX xf86-video-modesetting yang digunakan di server X.Org, yang menyebabkan pengikatan pada proses yang dimulai dengan karakter "X" (diasumsikan bahwa solusinya diterapkan ke " xorg"). Hampir segera, masalah di X.Org telah diperbaiki (penggunaan API atom dinonaktifkan secara default), tetapi perbaikan sementara lupa dihapus dari kernel, dan upaya untuk mengirim ioctl untuk mengubah mode secara atomik untuk semua proses yang dimulai dengan karakter "X" masih terus menghasilkan error. if (current->comm[0] == 'X' && req->value == 1) { pr_info("ruang pengguna set mode atom rusak terdeteksi, menonaktifkan atom\n"); kembalikan -EOPNOTSUPP; }

Sumber: opennet.ru

Tambah komentar