log4j2についてなにが起こっているのかわからなかったので、
整理したことを記載する。
問題
外部リソースへのアクセス情報が含まれたリクエスト情報を、
log4j2ライブラリのログ出力処理に渡すと、
ログ出力処理内で呼び出されているJNDIを通して外部リソースにアクセスできる。
攻撃者はlog4j2が外部リソースにアクセスできることを利用して、
ログ出力しているサーバ上で悪意のあるプログラムを実行させられる。
log4j2
ロギングライブラリ。
数多のプロジェクトで利用されている。
JNDI
Java Naming and Directory Interface
LDAPで、外部リソース(DB,ディレクトリサービスなど)にアクセスできるAPI
package com.sun.jndi
LDAP
LDAP
Lightweight Directory Access Protocol
外部リソースと通信するためのプロトコル
修正
https://github.com/apache/logging-log4j2/pull/608/commits/755e2c9d57f0517a73d16bfcaed93cc91969bdee
アクセス許可のあるLDAPのホストとクラスを定義して、
入力に対してアクセス許可されているかどうか判定するように修正
利用者としての対策
log4j-2.15.0-rc1 へ アップグレード