Pernahkah kamu bertanya-tanya: berapa lama sebuah celah keamanan (vulnerability) tetap berbahaya setelah dipublikasikan? Kapan kita bisa benar-benar berhenti mengkhawatirkannya?
Sebagai latihan riset internal, kami meneliti CVE-2021-44026, sebuah celah SQL Injection pada aplikasi email berbasis web Roundcube. Walaupun celah ini sudah berusia dua tahun, nyatanya masih dipakai dalam serangan di musim panas 2023. Pada 20 Juni 2023, CERT-UA dan Recorded Future melaporkan adanya serangan terhadap infrastruktur email beberapa organisasi pemerintah.
Serangan tersebut menggunakan email berisi exploit yang memanfaatkan rantai kerentanan di Roundcube:
- XSS pada rendering link email (CVE-2020-35730)
- yang digabungkan dengan SQL Injection terautentikasi (CVE-2021-44026).
Apa itu Roundcube dan kenapa penting?
Roundcube adalah klien email berbasis web (IMAP) dengan tampilan mirip aplikasi desktop. Fiturnya lengkap: dukungan MIME, buku alamat, manajemen folder, pencarian pesan, hingga spell checking.
Roundcube dipakai secara luas, baik oleh NGO, institusi publik, maupun menjadi klien email bawaan cPanel. Karena popularitasnya tinggi, kami memutuskan untuk meneliti ulang SQL Injection ini.
Analisis Patch SQL Injection
Roundcube adalah open-source, jadi kami meninjau langsung patch di GitHub. Versi 1.4.12 memperbaiki bug ini dengan dua commit penting:
- Validasi input
_sort– input dari pengguna yang sebelumnya bisa berisi karakter bebas, sekarang dibatasi hanya huruf (a-z, A-Z), underscore (_), dan minus (-). - Perubahan pada penggunaan session
$_SESSION['search']– kunci session untuk pencarian diubah agar tidak konflik dengan fungsi pencarian email lain.
Dari sini, kami menduga ada peluang manipulasi session yang berujung pada SQL Injection.
Bagaimana Celah SQL Injection Terjadi?
- Pengguna bisa mengubah
$_SESSION['sort_col']lewat parameter_sort. Nilai ini nantinya dipakai di query SQL.- Contoh:
_sort="1=1;--"
- Contoh:
- Nilai itu berpindah ke
$_SESSION['search']saat pengguna melakukan pencarian email. - Lalu, saat ekspor kontak (misalnya jadi vCard), input tersebut dipakai langsung dalam query SQL tanpa filter.
Hasilnya: SQL Injection dapat dijalankan.
Rantai Eksploitasi
Untuk benar-benar mengeksploitasi bug ini, penyerang perlu 3 langkah request HTTP:
- Pollute session dengan payload SQLi lewat parameter
_sort. - Trigger pencarian agar nilai dari
_sortdipindahkan ke$_SESSION['search']. - Ekspor kontak untuk menjalankan query SQL berbahaya dan mengeluarkan hasilnya dalam format vCard.
Tantangan Eksploitasi
Dalam uji coba PoC (Proof of Concept), kami menemukan beberapa tantangan:
- Hijacking session – Roundcube tidak menyimpan email di database, hanya metadata. Jadi untuk bisa mengakses email, penyerang perlu mencuri session pengguna agar bisa masuk ke akun mereka.
- Tabel
sessiondi database menyimpansess_iddanvars(yang berisi username, password terenkripsi, dan session secret). - Untuk bypass, digunakan trik PostgreSQL dengan escaped Unicode supaya bisa menulis kolom
sess_idtanpa karakter_yang diblokir.
- Tabel
- Bypass validasi timestamp – Session Roundcube memakai dua cookie (
roundcube_sessiddanroundcube_sessauth). Nilaisessauthdihitung dari secret + timestamp server. Jika timestamp salah, session otomatis invalid.- Solusinya: penyerang bisa meniru cara Roundcube membangunnya, dengan memperkirakan waktu server.
Apakah Celah Ini Masih Penting di 2023?
Kami lalu memeriksa seberapa banyak server Roundcube di internet yang masih terpengaruh.
- Total ditemukan 74.039 server Roundcube (November 2023, via Shodan).
- Sebagian besar di AS, Jerman, dan Rusia.
- Dari 45.238 server yang versi-nya bisa diidentifikasi:
- Versi 1.4 paling banyak dipakai, hampir setara gabungan versi 1.5 dan 1.6.
- Versi yang rentan: sebelum 1.3.17 dan 1.4.x sebelum 1.4.12.
- Hasilnya: 21.901 server (29,6%) masih rentan.
Kesimpulan
Walaupun sudah berusia dua tahun, CVE-2021-44026 masih banyak dipakai dalam serangan nyata. Bahkan hampir 1 dari 3 server Roundcube yang terhubung ke internet masih rentan di akhir 2023.
Kami merilis exploit ini untuk mendorong admin segera upgrade Roundcube mereka. Kalau tidak, aktor jahat yang sudah punya exploit siap pakai akan memanfaatkannya untuk mencuri email.
Infrastruktur IT yang kuat adalah kunci produktivitas perusahaan. Dengan pentest indonesia, Anda bisa mendapatkan solusi IT lengkap yang sesuai dengan kebutuhan Anda. iLogo Indonesia sebagai mitra terpercaya siap mengintegrasikan semuanya agar bisnis Anda tetap berjalan lancar dan aman.
Hubungi kami sekarang atau kunjungi pentestindonesia.com untuk informasi lebih lanjut!
