Security

Eskalasi Hak Akses Lokal “CIFSwitch”: Kelalaian Logika Lawas pada Kernel Linux Berpotensi Akses Root

Dunia keamanan siber ekosistem Linux kembali diguncang oleh temuan kerentanan eskalasi hak akses lokal (Local Privilege Escalation / LPE) tingkat tinggi yang diberi nama ‘CIFSwitch’. Celah keamanan ini mematikan karena memungkinkan seorang pengguna lokal tanpa hak istimewa (unprivileged local user) untuk memalsukan deskripsi otentikasi protokol CIFS, memanipulasi mekanisme key request pada kernel, dan mengambil alih hak akses tertinggi (Root) hanya melalui satu baris perintah eksekusi.

Kerentanan ini pertama kali diidentifikasi dan dipublikasikan oleh Asim Viladi Oglu Manizada, seorang insinyur keamanan siber dari perusahaan kedirgantaraan SpaceX. Berdasarkan investigasi forensik kode, celah logika ini ternyata telah terkubur di dalam kode kernel selama 19 tahun (sejak pertama kali diperkenalkan pada tahun 2007).


Kronologi & Cara Kerja Eksploitasi CIFSwitch

Berbeda dengan mayoritas kerentanan kernel tradisional yang umumnya dipicu oleh kerusakan memori (memory corruption) seperti buffer overflow atau kondisi balapan data (race conditions), CIFSwitch murni memanfaatkan kelalaian logika otorisasi (logic authorization flaw) interkoneksi antara subsistem kernel dengan tools di ruang pengguna (user space).

[Pengguna Biasa / Lokal]
       │
       ▼ (Membuat Request Kunci Palsu)
[request_key("cifs.spnego", ...)] ──► [Menyisipkan Deskripsi Buatan Peretas]
                                                 │
                                                 ▼ (Kernel Gagal Validasi Asal Request)
                                      [Memanggil cifs.upcall sebagai Root]
                                                 │
                                                 ▼ (cifs.upcall Mempercayai Kolom Palsu)
                                      [Pindah ke Namespace Buatan Peretas]
                                                 │
                                                 ▼ (Mengeksekusi Library Jahat)
                                      [Memicu NSS Lookup -> Load .so Malicious]
                                                 │
                                                 ▼
                                      [KODE EKSEKUSI SEBAGAI ROOT]

Berikut alur mekanis eksploitasi sirkuit sistem tersebut secara mendetail:

  1. Fungsi Protokol CIFS: Common Internet File System (CIFS) merupakan protokol jaringan yang digunakan Linux untuk memuat (mount) serta membaca-tulis data dari komputer jarak jauh. Ketika sebuah jaringan menggunakan metode otentikasi Kerberos, kernel Linux akan meminta bantuan program perantara di ruang pengguna bernama cifs-utils (melalui utilitas /usr/sbin/cifs.upcall).
  2. Celah Validasi Kernel: Kernel meminta pembuatan kunci bertipe cifs.spnego. Kelemahannya, subsistem CIFS pada kernel gagal memverifikasi apakah permintaan deskripsi kunci tersebut benar-benar valid berasal dari klien CIFS internal kernel atau justru disuntikkan secara ilegal oleh pengguna biasa.
  3. Eksploitasi Jaringan Namespace: Karena absennya filter validasi tersebut, peretas lokal dapat memicu workflow otentikasi normal menggunakan deskripsi palsu buatan mereka. Utilitas cifs.upcall yang berjalan dengan hak akses Root secara keliru mempercayai kolom data yang dikendalikan peretas (seperti data PID, UID, dan upcall target).
  4. Penyusupan Library Jahat (NSS): Peretas kemudian memaksa utilitas root tersebut untuk berpindah ke dalam namespace bentukan peretas yang telah dimodifikasi. Sebelum hak akses dilepas, sistem dipicu untuk melakukan pencarian Name Service Switch (NSS). Hal ini membuat utilitas root memuat berkas konfigurasi /etc/nsswitch.conf dan pustaka bersama (.so) berbahaya milik peretas (seperti libnss_*.so.2), yang berujung pada eksekusi kode biner jahat secara penuh di bawah hak akses Root.

Daftar Distribusi Linux yang Terdampak

Eksploitasi CIFSwitch bersifat non-universal, artinya keberhasilan serangan sangat bergantung pada kombinasi versi kernel (terutama versi 6.14 ke atas, meski beberapa versi lawas dengan sistem backport juga terdampak), keberadaan paket cifs-utils, diaktifkannya fitur unprivileged user namespaces, serta konfigurasi kebijakan keamanan sistem.

1. Rentan Secara Bawaan (Exploitable Out-of-the-Box)

Distribusi berikut terkonfirmasi dapat langsung ditembus menggunakan kode Proof-of-Concept (PoC) publik karena konfigurasi standarnya memenuhi seluruh syarat eksploitasi:

  • Linux Mint (Versi 21.3 dan 22.3 Cinnamon)
  • CentOS Stream 9 (Varian GNOME)
  • Rocky Linux 9 (Varian Workstation)
  • AlmaLinux 9 (Jika paket cifs-utils terpasang)
  • Kali Linux (Versi headless 2021.4 hingga 2026.1)
  • SUSE Linux Enterprise Server (SLES) 15 SP7

2. Rentan Bersyarat

Sistem operasi seperti Ubuntu, Debian, Pop!_OS, openSUSE, Oracle Linux, dan Amazon Linux dapat menjadi rentan jika administrator menginstal paket cifs-utils secara manual ke dalam sistem.

3. Aman Secara Bawaan (Terproteksi LSM)

Sistem operasi modern seperti Ubuntu 26.04, Fedora 40-44, CentOS Stream 10, Rocky Linux 10, SLES 16, AlmaLinux 10, dan openSUSE Leap 16 aman dari eksekusi PoC publik ini. Kebijakan keamanan Linux Security Module (LSM) bawaan mereka—seperti SELinux atau AppArmor dalam mode enforcing—secara agresif memblokir jalur transisi namespace dan pencarian NSS lookup yang diincar oleh peretas.


Panduan Langkah Mitigasi Keamanan

Perbaikan resmi untuk sisi kernel telah digulirkan melalui komit hulu (upstream commit) bersandi 3da1fdf4efbc (“smb: client: reject userspace cifs.spnego descriptions”). Bagi sistem server atau desktop yang belum mendapatkan pembaruan patch kernel dari repositori distro masing-masing, administrator diimbau melakukan langkah mitigasi darurat berikut:

Langkah 1: Hapus Paket cifs-utils (Jika Tidak Digunakan)

Eksploitasi ini wajib membutuhkan kehadiran program pembantu dari paket cifs-utils. Jika server Anda tidak melakukan aktivitas mounting direktori berbasis SMB/CIFS, segera hapus paket ini:

Bash

sudo dnf remove cifs-utils      # Untuk rumpun RHEL/Fedora/AlmaLinux
sudo apt remove cifs-utils      # Untuk rumpun Debian/Ubuntu

(Catatan: Pada beberapa distro seperti Arch Linux/EndeavourOS, penghapusan cifs-utils dapat berdampak pada paket smbclient/Samba, lakukan pemeriksaan ketergantungan paket secara teliti).

Langkah 2: Masukkan Modul CIFS ke Daftar Hitam (Blacklist)

Guna mencegah modul CIFS dimuat ke dalam memori kernel baik secara otomatis maupun manual oleh pengguna lokal, buat berkas konfigurasi pemblokiran:

Bash

sudo sh -c "printf 'install cifs /bin/false\n' > /etc/modprobe.d/cifswitch.conf"
sudo rmmod cifs 2>/dev/null

Langkah 3: Netralkan Handler cifs.spnego pada Request-Key

Jika Anda terpaksa harus tetap menginstal paket cifs-utils namun tidak menggunakan otentikasi Kerberos/SPNEGO, Anda dapat mematikan fungsi handler pemanggilan kunci dengan perintah:

Bash

sudo sh -c 'echo "create cifs.spnego * * /bin/false" > /etc/request-key.d/cifs.spnego.conf'

Langkah 4: Batasi Fitur Unprivileged User Namespaces

Peretas membutuhkan fitur ini untuk membuat ruang isolasi namespace baru tempat mereka memodifikasi file library NSS. Jika tidak dibutuhkan oleh aplikasi container seperti Docker rootless, Podman, atau Chromium Sandbox, matikan fitur ini melalui sysctl:

Bash

sudo sysctl -w kernel.unprivileged_userns_clone=0

CIFSwitch menambah panjang daftar kerentanan eskalasi hak akses lokal (LPE) kritis yang ditemukan melanda kernel Linux dalam beberapa pekan terakhir, menyusul temuan celah keamanan terdahulu seperti ‘Copy Fail’ (CVE-2026-31431), ‘Dirty Frag’, ‘Fragnesia’, ‘DirtyDecrypt’, dan ‘PinTheft’. Para administrator sistem diharapkan segera melakukan pemindaian repositori dan melakukan reboot server setelah patch kernel terbaru diterapkan.


Sumber: Technical Report oleh Asim Manizada / Openwall oss-security

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button