Menjalankan kode di "ruang kernel" berarti menjalankannya di ruang ring 0. Dengan kata lain, ini adalah definisi ketat dari "memiliki kendali total".
Satu-satunya pengecualian adalah jika Anda menjalankan hypervisor. Dalam kasus seperti itu, menjalankan kode di ring 0 dari OS virtual akan "hanya" memberi Anda kendali penuh atas perangkat virtual, bukan hypervisor (yang dikatakan berjalan di ring -1) yang dijalankannya. Anda memerlukan eksploit pelarian terpisah untuk mencapainya.
Apakah itu akan memberi penyerang kendali penuh atas telepon? Misalnya, dapatkah mereka memasang keylogger atau malware lainnya?
Ini mungkin. Karena setiap pemeriksaan izin (yaitu akses file, akses ke keyboard...) dilakukan di dalam kernel, kode yang berjalan di dalam kernel dapat meminta tindakan yang diperlukan secara langsung tanpa menjalankan pemeriksaan ini.
Apakah ini akan memungkinkan perangkat yang disusupi untuk melakukan serangan OTA pada perangkat lain dengan cara yang sama (menjadi worm)?
Mungkin saja beberapa tindakan memerlukan akses kernel, seperti kemampuan untuk membuat paket jaringan yang dapat dimanipulasi yang dapat digunakan untuk mengkompromikan perangkat yang berbeda. Tetapi ini tidak berarti bahwa Anda selalu memerlukan akses kernel untuk serangan semacam itu, yaitu akses root biasanya cukup dan terkadang bahkan proses pengguna normal dapat melakukannya, tergantung pada serangan yang tepat.
Apakah masalah ini dikurangi dengan fitur keamanan lainnya, seperti SELinux, dm-verity, dll?
Setelah penyerang memiliki akses kernel, teknik ini tidak membantu. Tetapi mereka mungkin membantu agar penyerang tidak mendapatkan akses kernel. Tetapi apakah mereka membantu atau tidak tergantung pada vektor serangan yang tepat. Misalnya, mereka tidak membantu jika terjadi kerentanan baru-baru ini pada driver jaringan Broadcom yang dapat dipicu oleh paket jaringan tertentu.