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.
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
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
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.
| PwnKit | Baron Samedit | Looney Tunables | Dirty Pipe | |
|---|---|---|---|---|
| CVE | CVE-2021-4034 | CVE-2021-3156 | CVE-2023-4911 | CVE-2022-0847 |
| Komponen | pkexec (polkit) | sudo | glibc ld.so | Kernel Linux |
| CVSS 3.1 (NVD) | 7.8 | 7.8 | 7.8 | 7.8 |
| Diumumkan | Januari 2022 | Januari 2021 | Oktober 2023 | Maret 2022 |
| Masuk KEV CISA | 27 Juni 2022 | 6 April 2022 | 21 November 2023 | 25 April 2022 |
| Cara menambal | Update polkit | Update sudo | Update glibc lalu reboot | Update 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.


