はじめに Log4jやStruts2など、Java製ソフトウェアにおいてリモートからの任意のコード実行(RCE)の脆弱性が目立つ時代になってしまっていますが、これにさらにSpringも加わってきました。この記事では特にCVE-2022-22965に焦点を当て、技術的な視点からの解説を行ってみます。 なぜJavaアプリでRCEとなるのか? Javaの(特にウェブアプリケーションで)RCEとなるパターンはいくつか知られており、以前こちらの記事にまとめました。今回のCVE-2022-22965はこの記事の「3. クラスローダを操作できてしまうパターン」のパターンになります。 なぜクラスローダを操作できるのか? そもそも「クラスローダの操作」とは何を意味しているのでしょうか。この文脈では、Javaのプロセス内のクラスローダ系のクラスのインスタンスの、getterやsetterのメソッドを攻撃者が実
![SpringのRCE脆弱性(CVE-2022-22965)について](https://cdn-ak-scissors.b.st-hatena.com/image/square/9b89f008600b307cd3b2f30b477662d804a664f2/height=288;version=1;width=512/https%3A%2F%2Fwww.scutum.jp%2Finformation%2Fwaf_tech_blog%2Fimages%2Famp_thumbnail.jpg)