Lewati ke isi

Keamanan/Cyber Security

PwnKit CVE-2021-4034, Celah pkexec Menuju Root

PwnKit (CVE-2021-4034) membuat user biasa jadi root lewat pkexec milik polkit. Bandingkan dengan celah serupa, lalu cek dan tambal server Linux-mu.

Terbit 5 menit baca

Jawaban singkat

PwnKit (CVE-2021-4034) adalah celah memori di pkexec, program SUID bawaan polkit, yang membuat user lokal biasa bisa menjadi root. Celah ini ada sejak 2009 dan diumumkan Qualys pada Januari 2022. Perbaikannya lewat update paket polkit atau policykit-1 dari distro.

Daftar isi
  1. Bagaimana PwnKit bekerja dan seberapa luas dampaknya?
  2. Dari mana celah ini muncul?
  3. Seberapa berbahaya?
  4. PwnKit dibanding celah root lokal lainnya
  5. Cara mengecek dan menambal
  6. Apakah ada jejak bila PwnKit dipakai?
  7. Kapan PwnKit jadi prioritas, kapan bukan?
  8. Pertanyaan yang sering diajukan

PwnKit adalah nama untuk CVE-2021-4034, celah di pkexec, program kecil milik polkit yang terpasang bawaan di banyak distro Linux. Siapa pun yang sudah punya akun biasa di server, atau berhasil menjalankan perintah lewat aplikasi web yang dibobol, bisa memakai celah ini untuk menjadi root.

Taruhannya besar. Akses user biasa masih bisa dibatasi dan dibersihkan, tetapi akses root berarti penyerang menguasai seluruh server: membaca semua data, memasang pintu belakang, dan menghapus jejak. Kalau paket polkit di servermu belum diperbarui sejak awal 2022, celah ini masih terbuka.

CVE-2021-4034

Tinggi · CVSS 7.8
Produk terdampak
polkit pkexec
Versi terdampak
Semua versi pkexec sejak 2009 sebelum ditambal
Versi aman
Paket polkit atau policykit-1 terbaru dari distro
Status
Patch tersedia
Diumumkan
25 Januari 2022
Detail di NVD

Bagaimana PwnKit bekerja dan seberapa luas dampaknya?

Dari mana celah ini muncul?

pkexec adalah program SUID, artinya ia selalu berjalan dengan hak root agar bisa menjalankan perintah atas nama pengguna lain sesuai kebijakan polkit. Menurut deskripsi NVD, pkexec tidak menangani jumlah parameter pemanggilan dengan benar, lalu akhirnya mencoba memperlakukan variabel lingkungan sebagai perintah. Penyerang bisa merekayasa variabel lingkungan itu sehingga pkexec menjalankan kode pilihannya dengan hak root.

Qualys, tim yang menemukannya, menelusuri bahwa celah ini sudah ada sejak pkexec pertama kali dibuat pada Mei 2009. Jadi hampir semua sistem yang memasang polkit selama lebih dari 12 tahun ikut terdampak. Qualys mengumumkannya pada 25 Januari 2022 dan berhasil memperoleh root pada instalasi bawaan Ubuntu, Debian, Fedora, dan CentOS.

Seberapa berbahaya?

Skor CVSS 3.1 dari NVD adalah 7.8 (High). Celah ini lokal, jadi tidak bisa dipakai langsung dari internet. Yang membuatnya berbahaya adalah tiga hal: tidak butuh password, berjalan konsisten di banyak distro, dan tidak bergantung pada konfigurasi khusus.

CISA memasukkan CVE-2021-4034 ke katalog Known Exploited Vulnerabilities pada 27 Juni 2022. Per 11 November 2026, entri KEV-nya juga mencatat celah ini pernah dipakai dalam kampanye ransomware.

PwnKit dibanding celah root lokal lainnya

PwnKit punya beberapa "saudara" yang sama-sama mengubah user biasa menjadi root. Membandingkannya membantu menentukan mana yang perlu dicek lebih dulu.

PwnKitBaron SameditLooney TunablesDirty Pipe
CVECVE-2021-4034CVE-2021-3156CVE-2023-4911CVE-2022-0847
Komponenpkexec (polkit)sudoglibc ld.soKernel Linux
CVSS 3.1 (NVD)7.87.87.87.8
DiumumkanJanuari 2022Januari 2021Oktober 2023Maret 2022
Masuk KEV CISA27 Juni 20226 April 202221 November 202325 April 2022
Cara menambalUpdate polkitUpdate sudoUpdate glibc lalu rebootUpdate kernel lalu reboot

Pola yang terlihat: semuanya lokal, semuanya bernilai 7.8, dan semuanya sudah terbukti dipakai dalam serangan. Bedanya ada di cara menambal. PwnKit dan Baron Samedit cukup update paket, sedangkan celah di glibc dan kernel membutuhkan reboot agar benar-benar hilang dari memori. Detail tiap celah ada di artikel Baron Samedit, Looney Tunables, dan Dirty Pipe.

Cara mengecek dan menambal

Cek dulu apakah pkexec ada di sistem:

ls -l /usr/bin/pkexec

Huruf s pada izin (misalnya -rwsr-xr-x) menandakan bit SUID aktif. Lalu cek versi paketnya. Di Ubuntu dan Debian paketnya bernama policykit-1 (di rilis yang lebih baru dipecah menjadi pkexec), sedangkan di keluarga RHEL bernama polkit:

dpkg -l | grep -E 'policykit-1|pkexec'
rpm -q polkit

Halaman keamanan Ubuntu mencantumkan versi perbaikan 0.105-26ubuntu1.2 untuk 20.04 dan 0.105-20ubuntu0.18.04.6 untuk 18.04. Untuk RHEL dan turunannya, ikuti errata Red Hat untuk CVE-2021-4034. Menambalnya cukup dengan update paket:

sudo apt update && sudo apt install --only-upgrade policykit-1
sudo dnf update polkit

Gunakan perintah yang sesuai distromu. Karena pkexec dijalankan ulang setiap kali dipanggil, update paket langsung berlaku tanpa reboot.

Apakah ada jejak bila PwnKit dipakai?

Menurut advisory Qualys, teknik eksploitasi yang mereka uraikan meninggalkan jejak di log, misalnya pesan bahwa nilai variabel SHELL tidak ditemukan di /etc/shells atau peringatan tentang isi variabel lingkungan yang mencurigakan. Qualys juga mencatat ada varian yang bisa dijalankan tanpa jejak seperti itu, jadi tidak adanya pesan di log bukan jaminan.

Di Ubuntu dan Debian, cari pesan dari pkexec di /var/log/auth.log. Di keluarga RHEL, lihat /var/log/secure atau journalctl. Alat pemantau terpusat seperti Wazuh memudahkan pencarian pesan semacam ini di banyak server sekaligus.

Kapan PwnKit jadi prioritas, kapan bukan?

PwnKit layak jadi prioritas tinggi di server yang punya banyak akun shell, server hosting bersama, mesin build atau CI yang menjalankan kode dari banyak pihak, dan server aplikasi web yang pernah punya riwayat celah. Di sana, penyerang yang mendapat pijakan sebagai user biasa sangat mungkin ada.

Di server yang sudah rutin update otomatis sejak 2022, PwnKit kemungkinan besar sudah tertutup dan cukup diverifikasi sekali. Yang perlu diwaspadai justru server yang terlupakan: VM lama, perangkat appliance berbasis Linux, dan image container lawas. Untuk container, risikonya bergantung pada apakah pkexec ikut terpasang di image dan apakah proses berjalan sebagai root.

Pertanyaan yang sering diajukan

Apakah PwnKit bisa dipakai dari internet?

Tidak langsung. Penyerang perlu bisa menjalankan perintah di server lebih dulu, misalnya lewat akun SSH biasa atau celah di aplikasi web.

Apakah menghapus polkit sepenuhnya lebih aman?

Belum tentu. Beberapa layanan desktop dan manajemen sistem bergantung pada polkit. Update paket adalah jalan paling aman, dan mencabut bit SUID pkexec cukup sebagai mitigasi sementara.

Server saya tidak punya user lain selain root, apakah tetap perlu update?

Tetap perlu. Proses seperti web server, PHP-FPM, atau database berjalan sebagai user lokal. Bila salah satunya dibobol, PwnKit bisa dipakai untuk naik ke root.

Apakah perlu reboot setelah update polkit?

Tidak wajib untuk celah ini, karena pkexec dimuat ulang setiap kali dipanggil. Reboot tetap berguna bila update yang sama juga memperbarui kernel atau glibc.

Sumber & referensi

Baca juga