Lewati ke isi

Keamanan/Cyber Security

Baron Samedit CVE-2021-3156, Celah Lama di sudo

Baron Samedit (CVE-2021-3156) membuat user mana pun bisa jadi root lewat sudo, bahkan tanpa terdaftar di sudoers. Cara cek dan menambalnya di server Linux.

Terbit 5 menit baca

Jawaban singkat

Baron Samedit (CVE-2021-3156) adalah heap overflow di sudo 1.8.2 sampai 1.8.31p2 dan 1.9.0 sampai 1.9.5p1. User lokal mana pun bisa naik menjadi root tanpa password dan tanpa terdaftar di sudoers. Perbaikannya ada di sudo 1.9.5p2 atau paket sudo terbaru dari distro.

Daftar isi
  1. Apa yang salah di sudo?
  2. Siapa yang terdampak?
  3. Bagaimana cara cepat mengecek server?
  4. Bagaimana menambalnya?
  5. Bagaimana dengan server yang sudah tidak didukung?
  6. Pelajaran untuk mengelola akses root
  7. Pertanyaan yang sering diajukan

Baron Samedit (CVE-2021-3156) adalah celah di sudo yang membuat pengguna lokal mana pun bisa menjadi root, tanpa password dan tanpa perlu terdaftar di file sudoers.

Kenapa ini penting? Sudo terpasang di hampir semua server Linux, dan banyak orang menganggapnya sebagai pagar pengaman, bukan sumber risiko. Celah ini juga bertahan hampir sepuluh tahun sebelum ditemukan, jadi server lama yang jarang diperbarui patut dicurigai sampai terbukti sudah ditambal.

CVE-2021-3156

Tinggi · CVSS 7.8
Produk terdampak
sudo
Versi terdampak
1.8.2 sampai 1.8.31p2, 1.9.0 sampai 1.9.5p1
Versi aman
1.9.5p2 atau paket sudo distro yang sudah ditambal
Status
Patch tersedia
Diumumkan
26 Januari 2021
Detail di NVD

Apa yang salah di sudo?

Menurut NVD, sudo sebelum 1.9.5p2 punya kesalahan off-by-one (CWE-193) yang berujung pada heap-based buffer overflow. Kesalahan ini terjadi saat sudo memproses argumen baris perintah dalam mode tertentu milik sudoedit, sehingga data bisa tertulis melewati batas memori yang disediakan.

Karena sudo adalah program SUID yang berjalan sebagai root, kerusakan memori di dalamnya bisa dibelokkan untuk menjalankan kode dengan hak root. Skor CVSS 3.1-nya 7.8 (High): butuh akses lokal, tapi sisanya sangat mudah bagi penyerang.

Nama "Baron Samedit" adalah plesetan dari Baron Samedi dan sudoedit, diberikan oleh tim riset Qualys yang menemukannya.

Siapa yang terdampak?

Halaman advisory resmi sudo mencantumkan versi terdampak berikut:

  • Sudo 1.8.2 sampai 1.8.31p2
  • Sudo 1.9.0 sampai 1.9.5p1
  • Versi warisan 1.7.7 sampai 1.7.10p9 juga disebut terdampak

Perbaikannya ada di sudo 1.9.5p2, yang dirilis 26 Januari 2021, hari yang sama dengan pengumuman Qualys. Distro besar merilis paket sudo yang sudah ditambal pada waktu yang hampir bersamaan, biasanya tanpa mengganti nomor versi utama.

Menurut Qualys, bug ini masuk ke kode sudo pada Juli 2011. Mereka berhasil memperoleh root di Ubuntu 20.04 (sudo 1.8.31), Debian 10 (sudo 1.8.27), dan Fedora 33 (sudo 1.9.2) dengan konfigurasi bawaan.

Hal yang paling sering disalahpahami: celah ini tidak mensyaratkan pengguna terdaftar di sudoers. Advisory sudo menyatakan bug bisa dimanfaatkan oleh pengguna mana pun, selama file sudoers ada di sistem. Jadi akun yang sengaja tidak diberi hak sudo pun tetap bisa memanfaatkannya.

Bagaimana cara cepat mengecek server?

Advisory resmi sudo memberi tes sederhana yang tidak merusak. Login sebagai user biasa (bukan root), lalu jalankan:

sudoedit -s /

Bacalah hasilnya seperti ini:

Hasil yang munculArtinya
Error yang diawali sudoedit: (misalnya sudoedit: /: not a regular file)Rentan
Diminta passwordRentan
Muncul pesan penggunaan yang diawali usage:Sudah ditambal

Kamu juga bisa melihat versi dengan sudo -V. Namun ingat, distro sering menambal lewat backport tanpa mengubah nomor versi utama, jadi hasil tes sudoedit dan versi paket dari distro lebih bisa dipercaya daripada nomor versi saja. Cek paketnya dengan dpkg -l sudo di Ubuntu dan Debian atau rpm -q sudo di keluarga RHEL.

Bagaimana menambalnya?

Cukup perbarui paket sudo:

sudo apt update && sudo apt install --only-upgrade sudo
sudo dnf update sudo

Pakai baris yang sesuai distromu. Bila kamu mengelola banyak server, jalankan pembaruan lewat alat otomasi yang biasa dipakai tim, lalu kumpulkan hasil tes dari setiap server agar tidak ada yang terlewat. Tidak perlu reboot, karena sudo dimuat ulang setiap kali dipanggil. Setelah itu, ulangi tes sudoedit -s / sebagai user biasa untuk memastikan hasilnya sudah berupa pesan usage:.

Untuk sistem tertanam atau appliance yang memakai sudo di dalamnya, update datang dari vendor perangkat. NVD mencatat produk dari beberapa vendor besar ikut terdampak, jadi periksa advisory vendor perangkat jaringan dan penyimpananmu.

Bagaimana dengan server yang sudah tidak didukung?

Server dengan distro yang sudah habis masa dukungannya, misalnya CentOS 7 atau Ubuntu 16.04 tanpa langganan dukungan tambahan, sering menjadi titik buta. Paket sudo di sana mungkin sudah ditambal pada 2021, tapi bisa juga tidak, tergantung kapan terakhir kali server itu diperbarui.

Jalankan tes sudoedit -s / di server seperti ini lebih dulu. Bila masih rentan dan paket resmi tidak lagi tersedia, pilihan yang tersisa adalah memigrasikan aplikasi ke server dengan distro yang masih didukung, atau sementara waktu memperketat siapa saja yang bisa login ke server tersebut. Memasang sudo hasil kompilasi sendiri bisa dilakukan, tetapi menambah beban perawatan dan mudah terlupa di pembaruan berikutnya.

Perangkat appliance berbasis Linux, seperti NAS atau perangkat jaringan, juga perlu masuk daftar. Banyak di antaranya menyertakan sudo, dan pembaruannya bergantung sepenuhnya pada firmware dari vendor.

Pelajaran untuk mengelola akses root

Baron Samedit mengingatkan bahwa membatasi siapa yang boleh memakai sudo belum cukup bila program sudo-nya sendiri rentan. Setiap akun lokal, termasuk akun layanan seperti www-data, adalah calon pijakan penyerang.

Beberapa kebiasaan yang membantu:

  • Jaga jumlah akun shell seminimal mungkin dan hapus akun yang tidak dipakai. Panduan membuat user dan memberi akses sudo membahas cara menatanya dengan rapi.
  • Terapkan prinsip least privilege untuk akun manusia maupun akun layanan.
  • Aktifkan update keamanan otomatis agar paket seperti sudo, polkit, dan glibc tertambal tanpa menunggu jadwal manual.
  • Ingat bahwa celah serupa pernah muncul di komponen lain, seperti PwnKit di pkexec.

Ringkasnya, jalankan tes sudoedit -s / di setiap server yang kamu kelola. Kalau masih muncul error sudoedit:, perbarui paket sudo hari ini juga.

Pertanyaan yang sering diajukan

Apakah Baron Samedit bisa dipakai dari jarak jauh?

Tidak langsung. Penyerang harus sudah bisa menjalankan perintah di server sebagai user lokal, misalnya lewat akun SSH atau aplikasi web yang dibobol.

Apakah tes sudoedit -s / aman dijalankan di server produksi?

Tes ini yang dianjurkan oleh advisory resmi sudo dan tidak mengubah apa pun. Jangan menjalankan kode eksploit publik untuk "membuktikan" celah di server produksi.

Apakah menghapus pengguna dari grup sudo bisa menjadi mitigasi?

Tidak. Celah ini bisa dimanfaatkan oleh pengguna yang tidak terdaftar di sudoers. Satu-satunya perbaikan yang efektif adalah memperbarui paket sudo.

Sumber & referensi

Baca juga