Apache Log4jはJavaベースのログ記録コンポーネントである。Apache Log4j2はLog4jのアップグレードバージョンであり、
Log4jを書き換えることで豊富な機能特性を導入している。
このログコンポーネントは、プログラム入出力ログ情報を記録するためのビジネスシステム開発に広く応用されている。
発見者:
2021年11月24日、アリクラウドセキュリティチームはApache公式にApache Log4j2リモートコード実行脆弱性を報告した。
Log4j2コンポーネントは、プログラムログ記録の処理時にJNDI注入欠陥があるため、許可されていない攻撃者はこの脆弱性を利用して、
ターゲットサーバに丹念に構築された悪意のあるデータを送信し、Log4j2コンポーネントの解析欠陥をトリガし、
ターゲットサーバの任意のコード実行を実現し、ターゲットサーバの権限を得ることができる。
脆弱性の原理:
Apache Log4j2にはJNDI注入脆弱性があり、プログラムがユーザーが入力したデータをログに記録すると、
この脆弱性がトリガーされ、この脆弱性を成功に利用してターゲットサーバ上で任意のコードを実行することができる。
springbootの解決策:
pom.xmlでlog4j2のバージョンを変更すれば、2.17.1にアップグレードできます。
<properties>
<log4j2.version>2.17.1</log4j2.version>
<properties>