Patch darurat untuk kerentanan terkenal di perpustakaan Java Log4j tidak mudah. Apache Software Foundation merilis versi baru untuk memperbaiki kerentanan sekali dan untuk selamanya.
Kerentanan di perpustakaan yang sangat populer untuk Java mengguncang lanskap TI global. Diperkirakan bahwa perpustakaan ada di sebagian besar lingkungan perusahaan.
Log4j terutama digunakan untuk logging. Acara dalam aplikasi dapat didaftarkan dengan catatan. Pikirkan cetakan detail login setelah upaya login. Atau, dalam kasus aplikasi web di Java, nama browser yang coba disambungkan pengguna.
Contoh terakhir adalah hal yang umum. Dalam kedua kasus, pengguna eksternal memengaruhi log yang dihasilkan Log4j. Ada kemungkinan untuk menyalahgunakan pengaruh itu. Log versi Log4j apa pun antara 13 September 2013 dan 5 Desember 2021 dapat menginstruksikan aplikasi Java untuk menjalankan kode dari server jauh di perangkat lokal.
Sejak 2013, Log4j telah memproses API: JNDI, atau Java Naming and Directory Interface. Penambahan JNDI memungkinkan aplikasi Java untuk menjalankan kode dari server jauh di perangkat lokal. Pemrogram menginstruksikan dengan menambahkan satu baris detail tentang server jarak jauh dalam suatu aplikasi.
Masalahnya adalah tidak hanya programmer yang dapat menambahkan aturan ke aplikasi. Misalkan Log4j mencatat nama pengguna dari upaya login. Ketika seseorang memasukkan baris yang disebutkan di atas di bidang nama pengguna, Log4j menjalankan baris dan aplikasi Java menginterpretasikan perintah untuk menjalankan kode di server yang ditentukan. Hal yang sama berlaku untuk kasus di mana Log4j mencatat permintaan HTTPS. Jika Anda mengubah nama browser ke baris, Log4j menjalankan baris, secara tidak langsung memerintahkannya untuk menjalankan kode sesuai keinginan.
Patch darurat juga bisa tidak aman
Pada tanggal 9 Desember, kerentanan terungkap dalam skala besar. Apache Software Foundation, pengembang Log4j, merilis patch darurat (2.15) untuk memperbaiki kerentanan. Sejak itu, telah menjadi prioritas utama bagi vendor perangkat lunak untuk memproses versi 2.15 dan menyediakan patch untuk organisasi.
Namun, organisasi keamanan LunaSec menyatakan bahwa patch tersebut tidak sepenuhnya kedap air. Tetap mungkin untuk menyesuaikan pengaturan dan menjalankan perintah JNDI yang dicatat.
Harap dicatat: pengaturan yang relevan harus disesuaikan secara manual, sehingga varian 2.15 yang tidak dimodifikasi memang aman. Namun demikian, Luna Sec merekomendasikan agar pemasok dan organisasi memperbarui ke Log4j 2.16. 2.16 diterbitkan oleh Apache Software Foundation sebagai tanggapan terhadap LunaSec. Versi baru benar-benar menghapus pengaturan rentan, sehingga tidak mungkin untuk menciptakan kondisi untuk penyalahgunaan.