Para peneliti menemukan bug yang terkait dengan kerentanan perpustakaan penebangan Log4J, yang dalam hal ini membuka pintu bagi musuh untuk mengeksekusi kode jarak jauh pada sistem yang rentan. Namun, cacat ini tidak menimbulkan risiko yang sama dengan yang diidentifikasi sebelumnya di Log4Shell, kata mereka.
Keamanan JFrog menemukan cacat dan dinilai penting dalam konteks konsol database H2 Java, database open-source yang populer, menurut posting blog Kamis oleh para peneliti.
H2 menarik bagi pengembang untuk solusi dalam memori yang ringan – yang menghalangi kebutuhan data untuk disimpan di disk – dan digunakan dalam platform web seperti Spring Boot dan platform IoT seperti ThingWorks.
Namun, cacat (CVE-2021-42392) mirip dengan Log4Shell. “[Saya] seharusnya tidak tersebar luas” karena beberapa kondisi dan faktor, peneliti JFrog Andrey Polkovnychenko dan Shachar Menashe menulis dalam posting mereka.
Log4Shell (CVE-2021-44228) diikat ke perpustakaan penebangan Apache Log4j pada awal Desember dan segera dieksploitasi oleh penyerang. Ini melahirkan 60 varian dari eksploitasi asli yang dibuat untuk cacat dalam periode 24 jam serta perbaikan yang salah yang dapat menyebabkan serangan DoS ketika pertama kali dirilis.
Bagaimana Bug H2 Mirip dengan Log4J?
Akar penyebab cacat H2 didasarkan pada pemuatan kelas jarak jauh JNDI, sehingga mirip dengan Log4Shell karena memungkinkan beberapa jalur kode dalam kerangka database H2 melewati URL yang dikendalikan penyerang tanpa filter ke fungsi javax.naming.Context.lookup. Hal ini memungkinkan untuk pemuatan basis kode jarak jauh, juga dikenal sebagai injeksi kode Java atau eksekusi kode jarak jauh, kata para peneliti.
“Secara khusus, metode org.h2.util.JdbcUtils.getConnection mengambil nama kelas driver dan URL database sebagai parameter,” mereka menjelaskan dalam posting. “Jika kelas pengemudi ditugaskan ke javax.naming.Context class, metode instantiates objek dari itu dan memanggil metode pencariannya.”
Alasan untuk Waspada, tetapi Tidak Panik
Namun, tidak seperti Log4Shell, kelemahan H2 memiliki ruang lingkup dampak “langsung”, yang berarti bahwa biasanya server yang memproses permintaan awal — yaitu, konsol H2 — akan merasakan beban langsung dari bug eksekusi kode jarak jauh (RCE), tulis para peneliti dalam sebuah posting yang diterbitkan Kamis.
“Ini kurang parah dibandingkan dengan Log4Shell karena server yang rentan harus lebih mudah ditemukan,” tulis para peneliti.
Kedua, secara default pada distribusi vanila dari database H2, konsol H2 hanya mendengarkan koneksi localhost, sehingga membuat pengaturan default aman, mereka menekankan.
“Ini tidak seperti Log4Shell yang dapat dieksploitasi dalam konfigurasi default Log4j,” tulis para peneliti. Namun, konsol H2 dapat dengan mudah dimodifikasi untuk mendengarkan koneksi jarak jauh juga, yang akan memperluas risiko, para peneliti menambahkan.
Memang, aspek eksekusi cacat ini pasti mengurangi keparahannya dibandingkan dengan masalah Log4j, catat seorang profesional keamanan.
“Log4j unik karena sejumlah string yang dimanipulasi serangan, dari header ke jalur URL, dapat mengakibatkan eksploitasi korban tergantung pada bagaimana aplikasi didirikan untuk memanfaatkan penebangan dengan Log4j,” Matthew Warner, CTO dan co-founder di deteksi ancaman otomatis dan penyedia teknologi respons Blumira, menulis dalam email ke Threatpost. “Dalam hal ini, konsol database H2 harus sengaja terkena internet dengan mengubah konfigurasi.”
Ketiga, sementara banyak vendor mungkin menjalankan database H2, mereka mungkin tidak menjalankan konsol H2 dengan itu, kata para peneliti JFrog. Ada vektor serangan lain yang dapat mengeksploitasi cacat H2; Namun, mereka “tergantung konteks dan kecil kemungkinannya terkena penyerang jarak jauh,” para peneliti mengamati.
Siapa yang berisiko?
Jika cacat H2 tidak layak mendapatkan alarm yang sama dengan Log4Shell, mengapa perlu dicatat, orang mungkin bertanya. Tim JFrog mengatakan bahwa itu bisa sangat penting dan memungkinkan RCE yang tidak diautistik bagi mereka yang menjalankan konsol H2 yang terkena jaringan area lokal (LAN) atau, bahkan lebih buruk lagi, jaringan area luas (WAN). Memang, menyerang konsol H2 secara langsung adalah vektor serangan yang paling parah, kata para peneliti.
Warner Blumira mengatakan bahwa menurut open-source intelligence (OSINT), kemungkinan ada kurang dari 100 server di internet yang terkena dampak cacat H2, “jadi hanya sejumlah organisasi yang sangat terbatas” yang terkena dampak langsung, katanya.
“Kerentanan ini adalah pengingat yang baik bahwa penting untuk memastikan bahwa layanan sensitif hanya terpapar secara internal untuk mengurangi potensi risiko di masa depan,” tambah Warner.
Namun, peneliti JFrog mengatakan bahwa banyak alat pengembang bergantung pada database H2 dan secara khusus mengekspos konsol H2. Hal ini mengkhawatirkan karena “tren serangan rantai pasokan baru-baru ini yang menargetkan pengembang, seperti paket berbahaya di repositori populer.”
Serangan-serangan ini menekankan “pentingnya alat pengembang yang dibuat aman untuk semua kasus penggunaan yang wajar,” tulis para peneliti, itulah sebabnya mereka berharap banyak alat yang bergantung pada H2 akan lebih aman setelah menerapkan perbaikan yang direkomendasikan.
Pada saat itu, tim JFrog merekomendasikan agar semua pengguna database H2 untuk meng-upgrade ke versi 2.0.206, yang memperbaiki CVE-2021-42392 dengan membatasi URL JNDI untuk menggunakan protokol java lokal saja, menolak kueri LDAP / RMI jarak jauh, para peneliti menjelaskan.
“Ini mirip dengan perbaikan yang diterapkan di Log4j 2.17.0,” tulis mereka.
Bahkan mereka yang tidak secara langsung menggunakan konsol H2 harus memperbarui “karena fakta bahwa vektor serangan lain ada, dan eksploitasi mereka mungkin sulit untuk dipastikan,” tambah para peneliti.
Sumber: Threat Post