Kerentanan keamanan beberapa dekade telah terungkap dalam paket needrestart yang diinstal secara default di Server Ubuntu (sejak versi 21.04) yang memungkinkan penyerang lokal mendapatkan hak akses root tanpa memerlukan interaksi pengguna.
Unit Penelitian Ancaman Qualys (TRU), yang mengidentifikasi dan melaporkan kelemahan tersebut awal bulan lalu, mengatakan bahwa kelemahan tersebut mudah untuk dieksploitasi, sehingga mengharuskan pengguna bergerak cepat untuk menerapkan perbaikan. Kerentanan tersebut diyakini telah ada sejak diperkenalkannya dukungan penerjemah pada needrestart 0.8, yang dirilis pada 27 April 2014.
“Eksploitasi yang perlu dimulai ulang ini memungkinkan Local Privilege Escalation (LPE) yang berarti bahwa penyerang lokal dapat memperoleh hak istimewa root,” kata Ubuntu dalam sebuah penasehat, mencatat bahwa hal tersebut telah diatasi dalam versi 3.8. “Kerentanan ini mempengaruhi Debian, Ubuntu, dan distribusi Linux lainnya.”
Needrestart adalah utilitas yang memindai sistem untuk menentukan layanan yang perlu dimulai ulang setelah menerapkan pembaruan perpustakaan bersama dengan cara yang menghindari reboot sistem secara menyeluruh.
Lima kelemahan tercantum di bawah ini –
- CVE-2024-48990 (Skor CVSS: 7.8) – Kerentanan yang memungkinkan penyerang lokal mengeksekusi kode arbitrer sebagai root dengan mengelabui needrestart agar menjalankan interpreter Python dengan variabel lingkungan PYTHONPATH yang dikendalikan penyerang
- CVE-2024-48991 (skor CVSS: 7.8) – Kerentanan yang memungkinkan penyerang lokal mengeksekusi kode arbitrer sebagai root dengan memenangkan kondisi balapan dan mengelabui needrestart agar menjalankan interpreter Python palsu mereka sendiri
- CVE-2024-48992 (skor CVSS: 7.8) – Kerentanan yang memungkinkan penyerang lokal mengeksekusi kode arbitrer sebagai root dengan mengelabui needrestart agar menjalankan penerjemah Ruby dengan variabel lingkungan RUBYLIB yang dikendalikan penyerang
- CVE-2024-11003 (skor CVSS: 7.8) dan CVE-2024-10224 (Skor CVSS: 5.3) – Dua kerentanan yang memungkinkan penyerang lokal mengeksekusi perintah shell sewenang-wenang sebagai root dengan memanfaatkan masalah dalam paket libmodule-scandeps-perl (sebelum versi 1.36)
Keberhasilan eksploitasi atas kekurangan yang disebutkan di atas dapat memungkinkan penyerang lokal untuk menetapkan variabel lingkungan yang dibuat khusus untuk PYTHONPATH atau RUBYLIB yang dapat mengakibatkan eksekusi kode arbitrer yang menunjuk ke lingkungan pelaku ancaman ketika perlu restart dijalankan.
“Dalam CVE-2024-10224, […] masukan yang dikontrol penyerang dapat menyebabkan modul Module::ScanDeps Perl menjalankan perintah shell sembarang dengan membuka() memasukkan 'pipa sial' (misalnya dengan meneruskan 'perintah|' sebagai nama file) atau dengan meneruskan string sembarang ke eval() , “kata Ubuntu.
“Dengan sendirinya, ini tidak cukup untuk peningkatan hak istimewa lokal. Namun, dalam CVE-2024-11003 needrestart meneruskan input (nama file) yang dikontrol penyerang ke Module::ScanDeps dan memicu CVE-2024-10224 dengan hak istimewa root. Perbaikan untuk CVE-2024-11003 menghilangkan ketergantungan needrestart pada Module::ScanDeps.”
Meskipun sangat disarankan untuk mengunduh patch terbaru, Ubuntu mengatakan pengguna dapat menonaktifkan pemindai penerjemah jika perlu memulai ulang file konfigurasi sebagai mitigasi sementara dan memastikan bahwa perubahan dikembalikan setelah pembaruan diterapkan.
“Kerentanan dalam utilitas needrestart ini memungkinkan pengguna lokal untuk meningkatkan hak istimewa mereka dengan mengeksekusi kode arbitrer selama instalasi atau peningkatan paket, di mana needrestart sering dijalankan sebagai pengguna root,” kata Saeed Abbasi, manajer produk TRU di Qualys.
“Penyerang yang mengeksploitasi kerentanan ini dapat memperoleh akses root, sehingga membahayakan integritas dan keamanan sistem.”