Microsoft menemukan kerentanan yang memudahkan orang-orang yang memiliki akses di banyak sistem desktop Linux untuk mendapatkan hak sistem root, peningkatan terbaru dari kelemahan hak istimewa yang terungkap di OS open source.
Karena sistem operasi telah dikeraskan untuk menahan kompromi dalam beberapa tahun terakhir, kerentanan elevasi hak istimewa (EoP) telah menjadi unsur penting bagi sebagian besar peretasan yang sukses.
Mereka dapat dieksploitasi bersama dengan kerentanan lain yang sering dianggap kurang parah, mereka memberikan akses lokal dan yang pertama meningkatkan akses root. Dari sana, musuh dengan akses fisik atau hak sistem terbatas dapat menyebarkan pintu belakang atau mengeksekusi kode pilihan mereka.
Nimbuspwn, seperti yang disebut Microsoft sebagai ancaman EoP, adalah dua kerentanan yang berada di networkd-dispatcher, komponen di banyak distribusi Linux yang mengirimkan perubahan status jaringan dan dapat menjalankan berbagai skrip untuk merespons status baru.
Cacat, dilacak sebagai CVE-2022-29799 dan CVE-2022-29800, menggabungkan ancaman termasuk traversal direktori, balapan symlink, dan kondisi balapan time-of-check time-of-use (TOCTOU). Setelah meninjau kode sumber Networkd -dispatcher, peneliti Microsoft Jonathan Bar Or memperhatikan bahwa komponen yang dikenal sebagai “_run_hooks_for_state” mengimplementasikan logika berikut:
Daftar daftar skrip yang tersedia dengan menjalankan metode “get_script_list”, yang memanggil metode “scripts_in_path” terpisah yang dimaksudkan untuk mengembalikan semua file yang disimpan di direktori “/etc/networkd-dispatcher/.d”.
Run_hooks_for_state membiarkan sistem Linux terbuka untuk kerentanan direktori-traversal, yang ditetapkan sebagai CVE-2022-29799, karena tidak ada fungsi yang digunakannya secara memadai membersihkan status yang digunakan untuk membangun jalur skrip yang tepat dari input berbahaya. Peretas dapat mengeksploitasi kelemahan untuk keluar dari direktori dasar “/etc/networkd-dispatcher”.
Run-hooks_for_state berisi cacat terpisah, CVE-2022-29800, yang membuat sistem rentan terhadap kondisi balapan TOCTOU karena ada waktu tertentu antara skrip ditemukan dan skrip dijalankan.
Musuh dapat mengeksploitasi kerentanan yang terakhir ini untuk mengganti skrip yang diyakini networkd-dispatcher dimiliki oleh root dengan skrip jahat pilihan musuh. Untuk memastikan Linux mengeksekusi skrip berbahaya yang disediakan peretas daripada skrip yang sah, peretas menanam beberapa skrip hingga akhirnya berhasil.
Seorang peretas dengan akses minimal ke desktop yang rentan dapat menyatukan eksploitasi untuk kerentanan ini yang memberikan akses root penuh.
Untuk mendapatkan akses root yang persisten, peneliti menggunakan alur eksploit untuk membuat pintu belakang. Proses untuk ini adalah:
Salin /bin/sh ke /tmp/sh.
Mengubah /tmp/sh baru menjadi biner Set-UID (SUID)
Jalankan /tmp/sh -p. Bendera “-p” diperlukan karena cangkang modern menjatuhkan hak istimewa berdasarkan desain.
Eksploitasi proof-of-concept hanya berfungsi jika dapat menggunakan nama bus “org.freedesktop.network1”. Peneliti menemukan beberapa lingkungan di mana ini terjadi, termasuk Linux Mint, di mana systemd-networkd secara default tidak memiliki nama bus org.freedodesktop.network1 saat boot.
Peneliti juga menemukan beberapa proses yang berjalan sebagai pengguna jaringan systemd, yang diizinkan untuk menggunakan nama bus yang diperlukan untuk menjalankan kode arbitrer dari lokasi yang dapat ditulis di dunia. Proses yang rentan mencakup beberapa plugin gpgv, yang diluncurkan saat apt-get menginstal atau meningkatkan, dan Erlang Port Mapper Daemon, yang memungkinkan menjalankan kode arbitrer dalam beberapa skenario.
Kerentanan telah ditambal di networkd-dispatcher, meskipun tidak segera jelas kapan atau dalam versi apa, dan upaya untuk menjangkau pengembang tidak segera berhasil. Orang yang menggunakan versi Linux yang rentan harus menambal sistem mereka sesegera mungkin.
Sumber : Arstechnica