Tampalan kecemasan untuk kerentanan yang terkenal dalam perpustakaan Java Log4j tidak mudah. Yayasan Perisian Apache sedang mengeluarkan versi baharu untuk membetulkan kelemahan sekali dan untuk semua.
Kerentanan dalam perpustakaan yang sangat popular untuk Java menggoncang landskap IT global. Dianggarkan perpustakaan wujud dalam kebanyakan persekitaran korporat.
Log4j digunakan terutamanya untuk pembalakan. Acara dalam permohonan boleh didaftarkan dengan nota. Fikirkan cetakan butiran log masuk selepas percubaan log masuk. Atau, dalam kes aplikasi web di Java, nama penyemak imbas yang cuba disambungkan oleh pengguna.
Contoh yang terakhir adalah perkara biasa. Dalam kedua-dua kes, pengguna luaran mempengaruhi log yang Log4j keluarkan. Adalah mungkin untuk menyalahgunakan pengaruh itu. Log mana-mana versi Log4j antara 13 September 2013 dan 5 Disember 2021 dapat mengarahkan aplikasi Java untuk menjalankan kod daripada pelayan jauh pada peranti tempatan.
Sejak 2013, Log4j telah memproses API: JNDI, atau Antara Muka Penamaan dan Direktori Java. Penambahan JNDI membolehkan aplikasi Java menjalankan kod dari pelayan jauh pada peranti tempatan. Pengaturcara mengarahkan dengan menambah satu baris butiran tentang pelayan jauh dalam aplikasi.
Masalahnya ialah bukan sahaja pengaturcara boleh menambah peraturan pada aplikasi. Katakan Log4j log nama pengguna percubaan log masuk. Apabila seseorang memasuki baris yang disebutkan di atas dalam medan nama pengguna, Log4j menjalankan baris dan aplikasi Java mentafsir arahan untuk menjalankan kod pada pelayan yang ditentukan. Perkara yang sama berlaku untuk kes di mana Log4j mencatatkan permintaan HTTPS. Jika anda menukar nama pelayar kepada baris, Log4j menjalankan baris, secara tidak langsung mengarahkannya untuk menjalankan kod seperti yang dikehendaki.
Tampalan kecemasan juga boleh menjadi tidak selamat
Pada 9 Disember, kelemahan itu diketahui secara besar-besaran. Yayasan Perisian Apache, pembangun Log4j, mengeluarkan tampung kecemasan (2.15) untuk membetulkan kelemahan. Sejak itu, ia telah menjadi keutamaan bagi vendor perisian untuk memproses versi 2.15 dan menyediakan tampung untuk organisasi.
Walau bagaimanapun, organisasi keselamatan LunaSec menyatakan bahawa tampung itu tidak sepenuhnya kedap air. Ia masih mungkin untuk melaraskan tetapan dan perintah JNDI log dilaksanakan.
Sila ambil perhatian: tetapan yang berkaitan mesti dilaraskan secara manual, supaya varian 2.15 yang tidak diubah suai sememangnya selamat. Namun begitu, Luna Sec mengesyorkan agar pembekal dan organisasi mengemas kini kepada Log4j 2.16. 2.16 telah diterbitkan oleh Apache Software Foundation sebagai tindak balas kepada LunaSec. Versi baharu mengalih keluar tetapan terdedah sepenuhnya, menjadikannya mustahil untuk mewujudkan syarat penyalahgunaan.