Seorang peneliti keamanan menemukan bahwa bug di kernel Linux sering kali tidak terdeteksi lebih dari dua tahun secara rata-rata, dengan beberapa bertahan lebih dari dua dekade. Dengan menganalisis 20 tahun pengembangan kernel, Jenny Guanni Qu mengungkap bagaimana cacat ini diam-diam memengaruhi sistem cloud, perusahaan, dan miliaran perangkat. Pekerjaannya menyoroti tantangan menjaga perangkat lunak open-source yang aman.
Pengembang keamanan Linux Jenny Guanni Qu mengungkapkan bahwa kerentanan di kernel Linux dapat bersembunyi tidak terdeteksi untuk periode yang panjang, menimbulkan risiko signifikan bagi sistem yang digunakan secara luas. Dalam studi komprehensif, ia memeriksa dua dekade pengembangan kernel Linux, meninjau 125.000 commit perbaikan bug. Analisis menunjukkan bahwa bug rata-rata tetap tersembunyi sedikit lebih dari dua tahun, meskipun banyak yang bertahan jauh lebih lama—beberapa melebihi 20 tahun. Salah satu contoh mencolok adalah bug jaringan yang diperkenalkan pada 2006 dan hanya diperbaiki pada 2025, hampir 19 tahun kemudian. Masalah ini, kebocoran hitung referensi di subsistem netfilter, berasal dari commit yang dimaksudkan untuk menyelesaikan deadlock. «Ironinya: Commit d205dc40798d itu sendiri adalah perbaikan: '[NETFILTER]: ctnetlink: fix deadlock in table dumping'. Patrick McHardy sedang memperbaiki deadlock dengan menghapus panggilan _put(). Dengan demikian, ia memperkenalkan kebocoran refcount yang bertahan selama 19 tahun,» jelas Qu. Bug tersebut menyebabkan kebocoran memori lambat di bawah kondisi tertentu, memungkinkan sistem yang terpengaruh tampak stabil selama bertahun-tahun sebelum memburuk di bawah beban. Penelitian Qu menunjukkan mengapa bug yang bertahan lama sulit dideteksi. Bagian kernel yang lebih tua, berasal dari awal 2000-an, jarang mengalami perubahan atau tinjauan. Perbaikan parsial sering menangani gejala tanpa mengatasi penyebab akar, membiarkan eksploitasi bertahan. Kondisi balapan, kesalahan hitung referensi, dan masalah siklus hidup memori terbukti sangat sulit dilacak. Meskipun model open-source Linux mengundang pengawasan, masih ada tumpukan cacat kuno. Dari sudut pandang penyerang, bug ini menawarkan vektor kuat, memengaruhi kode bersama di berbagai distribusi. Saat kerentanan mendapatkan CVE, mungkin sudah dieksploitasi selama bertahun-tahun. Untuk mengatasi ini, Qu mengembangkan VulnBERT, model pembelajaran mesin yang memindai perubahan kode untuk kerentanan. Dalam pengujian, mendeteksi lebih dari 90% commit bermasalah dengan positif palsu rendah, termasuk bug 19 tahun tersebut. «VulnBERT adalah alat triage, bukan jaminan. Ia menangkap 92% bug dengan pola yang dikenali. 8% sisanya dan kelas bug baru masih membutuhkan tinjauan manusia dan fuzzing,» catatnya. Kernel yang lebih baru mendapat manfaat dari perbaikan lebih cepat, tetapi penemuan berkelanjutan di kode lama menekankan perlunya pemeliharaan waspada. Perusahaan harus memprioritaskan pembaruan kernel, karena cacat ini dapat memungkinkan kompromi sistem penuh dalam serangan canggih.