Sudo Buffer Overflow CVE-2021-3156

1 min read

Disclaimer
Saya bekerja di AWS, semua opini adalah dari saya pribadi. (I work for AWS, my opinions are my own.)
Sudo Buffer Overflow
Ilustrasi (Gambar: nysscpa.org)

TeknoCerdas.com – Salam cerdas untuk kesemua. Belum lama ini sebuah celah keamanan ditemukan pada utilitas sudo dengan nomor CVE-2021-3156. Apa bahaya dari sudo buffer overflow CVE-2021-3156 ini? Penyerang bisa mendapatkan root akses dengan memanfaatkan celah keamanan ini.

Sebagai latar belakang, sudo adalah sebuah program yang digunakan user untuk mengeksekusi perintah sebagai user lain. Bug ini terjadi karena jika sudo dijalankan dengan argumen -e (MODE_EDIT) dan -s (MODE_SHELL) maka tidak ada pengecekan escape karakter terhadap argumen yang dikirim. Sehingga inilah yang dieksploitasi.

Baca Juga:
Shell Tips: Perbedaan Symlink dan Hardlink

Pada beberapa distribusi Linux seperti Debian atau Ubuntu, terdapat symlink bernama sudoedit dimana secara otomatis menambahkan argumen -e ketika menjalankan sudo. Karena itu pada beberapa PoC eksploitasi symlink ini digunakan.

Versi sudo yang memiliki celah keamanan CVE-2021-3156 adalah versi lawas 1.8.2 sampai 1.8.31p2 dan 1.9.0 sampai 1.9.5p1.

Untuk mengecek apakah versi sudo yang digunakan memiliki celah keamanan ini atau tidak caranya cukup simpel yaitu dengan menjalankan program dibawah.

$ sudoedit -s '\' `perl -e 'print "A" x 65536'`

Jika yang muncul adalah pesan “Segmentation fault” atau “malloc(): corrupted top size” maka versi sudo tersebut vulnerable terhadap celah keamanan ini.

Proof of Concept (PoC) dari celah keamanan ini sudah banyak beredar di internet dan bisa dicoba. Vendor sistem operasi sudah mengeluarkan patch untuk celah keamanan ini.

Menambal Celah Keamanan

Untuk menambal celah keamanan CVE-2021-3156 adalah dengan mengunduh patch terbaru untuk sudo. Berbagai distro sudah mengeluarkan patch untuk CVE ini sebut saja RedHat, Ubuntu, SUSE, Amazon Linux dan lainnya.

Untuk distribusi Ubuntu Linux gunakan perintah apt untuk mengupdate versi sudo.

$ sudo apt-get update
$ sudo apt-get install sudo sudo-ldap

Ubuntu merekomendasikan untuk mengupdate juga paket sudo-ldap.

Untuk distribusi Linux berbasis RedHat bisa menggunakan YUM untuk mengupdate sudo ke versi yang telah dipatch.

# yum update sudo*

Jika anda adalah system administrator yang mengelola server, maka wajib untuk segera menambal celah keamanan ini.