ホームページ  >  記事  >  運用・保守  >  Apache Log4j 2.17.0 がリリースされました。どのような問題が解決されたかわかりますか?

Apache Log4j 2.17.0 がリリースされました。どのような問題が解決されたかわかりますか?

藏色散人
藏色散人転載
2021-12-20 11:09:542834ブラウズ

Apache Log4j バージョン 2.17.0 が正式にリリースされ、3 番目に発見されたセキュリティ脆弱性 CVE-2021-45105 が解決されました。

Apache Log4j2 バージョン 2.0-alpha1 から 2.16.0 では、自己参照検索の制御されない再帰が防止されません。ログ設定でデフォルト以外のパターン レイアウトとコンテキスト ルックアップ ($${ctx:loginId} など) が使用されている場合、スレッド コンテキスト マップ (MDC) 入力データを制御する攻撃者は、再帰的ルックアップを含む悪意のある入力データを作成して、 StackOverflowError が発生し、プロセスが終了します。これは DoS 攻撃とも呼ばれます。 [推奨: Apache 使用法チュートリアル ]

バージョン 2.17.0 (Java 8 用) 以降、構成内の検索文字列のみが再帰的に展開されます。その他の使用法では、先頭のみが展開されます。 -レベルのルックアップは解析されますが、ネストされたルックアップは解析されません。

以前のバージョンでは、ログ構成で次のことを行うことでこの問題を軽減できました。

  • ログ構成内 PatternLayout 内では、${ctx:loginId} や $${ctx:loginId} などのコンテキスト ルックアップをスレッド コンテキスト マップ パターン (%X、%mdc、または %MDC) に置き換えます。

  • それ以外の場合は、構成内の ${ctx:loginId} や ${ctx:loginId} などのコンテキスト ルックアップへの参照を削除します。これらは、HTTP ヘッダーなど、アプリケーションの外部のソースからのものです。またはユーザー入力..

バージョン 2.17.0 の具体的な更新内容は次のとおりです:

  • 文字列置換再帰を修正しました。 LOG4J2-3230

  • #JNDI を Java プロトコルのみに制限するよう修正しました。デフォルトでは、JNDI は無効のままです。 JNDI 有効プロパティの名前が「log4j2.enableJndi」から「log4j2.enableJndiLookup」、「log4j2.enableJndiJms」、および「log4j2.enableJndiContextSelector」に変更されました。 LOG4J2-3242

  • JNDI は Java プロトコルに限定される問題を修正しました。デフォルトでは、JNDI は無効のままです。 Enable プロパティの名前が「log4j2.enableJndiJava」に変更されました。 LOG4J2-3242 を修正

  • #log4j-api-java9 および log4j-core-java9 を依存関係として宣言しないでください。Maven エンフォーサ プラグインで問題が発生する可能性があります。 LOG4J2-3241
  • プロパティ ファイル フィルターを解析する際の PropertiesConfiguration.parseAppenderFilters NPE を修正しました。 LOG4J2-3247 を修正
  • #Syslog Appender の Log4j 1.2 ブリッジのデフォルトはポート 514 ではなく 512 です。 LOG4J2-3249
  • Log4j 1.2 ブリッジ API の Syslog プロトコルを TCP にハードコードする問題を修正しました。 LOG4J2-3237
  • を修正

以上がApache Log4j 2.17.0 がリリースされました。どのような問題が解決されたかわかりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はOSC开源社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。