Rumah >Operasi dan penyelenggaraan >Apache >Apache Log4j 2.17.0 telah dikeluarkan! Lihat masalah apa yang telah diselesaikan?

Apache Log4j 2.17.0 telah dikeluarkan! Lihat masalah apa yang telah diselesaikan?

藏色散人
藏色散人ke hadapan
2021-12-20 11:09:543081semak imbas

Apache Log4j versi 2.17.0 telah dikeluarkan secara rasmi, menyelesaikan kerentanan keselamatan ketiga yang ditemui CVE-2021-45105.

Apache Log4j2 versi 2.0-alpha1 hingga 2.16.0 tidak menghalang pengulangan carian rujukan kendiri yang tidak terkawal. Apabila konfigurasi log menggunakan Reka Letak Corak dan Carian Konteks bukan lalai (contohnya, $${ctx:loginId}), penyerang yang mengawal data input peta konteks benang (MDC) boleh mencipta data input berniat jahat yang mengandungi carian rekursif, menyebabkan a StackOverflowError dengan itu menamatkan proses. Ini juga dipanggil serangan DoS. [Disyorkan: Tutorial penggunaan Apache]

Bermula dari versi 2.17.0 (untuk Java 8), hanya rentetan carian dalam konfigurasi akan dikembangkan secara rekursif dalam mana-mana penggunaan lain, Hanya atas -pencarian peringkat dihuraikan, bukan sebarang carian bersarang.

Dalam versi terdahulu, isu ini boleh dikurangkan dengan memastikan konfigurasi pengelogan anda melakukan perkara berikut:

  • Dalam konfigurasi pengelogan Dalam PatternLayout, gantikan Carian Konteks seperti ${ctx:loginId} atau $${ctx:loginId} dengan corak Peta Konteks Benang (%X, %mdc atau %MDC).

  • Jika tidak, alih keluar rujukan kepada Carian Konteks seperti ${ctx:loginId} atau ${ctx:loginId} dalam konfigurasi ia berasal daripada sumber luar aplikasi, seperti HTTP pengepala atau input pengguna..

Kemas kini khusus versi 2.17.0 termasuk:

  • Betulkan rekursi penggantian rentetan. Betulkan LOG4J2-3230

  • Hadkan JNDI kepada protokol java sahaja. Secara lalai, JNDI akan kekal dilumpuhkan. JNDI yang dinamakan semula membolehkan sifat daripada "log4j2.enableJndi" kepada "log4j2.enableJndiLookup", "log4j2.enableJndiJms", dan "log4j2.enableJndiContextSelector". Betulkan LOG4J2-3242

  • JNDI terhad kepada protokol java sahaja. Secara lalai, JNDI akan kekal dilumpuhkan. Sifat daya telah dinamakan semula kepada "log4j2.enableJndiJava". Betulkan LOG4J2-3242

  • Jangan isytiharkan log4j-api-java9 dan log4j-core-java9 sebagai kebergantungan kerana ini akan menyebabkan masalah dengan pemalam penguatkuasa Maven. Betulkan LOG4J2-3241

  • PropertiesConfiguration.parseAppenderFilters NPE apabila menghuraikan penapis fail sifat. Betulkan LOG4J2-3247

  • Jambatan Log4j 1.2 Syslog Appender lalai kepada port 512 dan bukannya 514. Betulkan LOG4J2-3249

  • Log4j 1.2 jambatan API kod keras Protokol Syslog kepada TCP. Betulkan LOG4J2-3237

Atas ialah kandungan terperinci Apache Log4j 2.17.0 telah dikeluarkan! Lihat masalah apa yang telah diselesaikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:OSC开源社区. Jika ada pelanggaran, sila hubungi admin@php.cn Padam