独立行政法人情報処理推進機構(IPA)および一般社団法人JPCERT コーディネーションセンター(JPCERT/CC)は4月1日、Spring Frameworkにおける不適切なデータバインディング処理による任意コード実行の脆弱性について「Japan Vulnerability Notes(JVN)」で発表した。影響を受けるシステムは以下の通り。
Spring Framework バージョン5.3.0から5.3.17
Spring Framework バージョン5.2.0から5.2.19
Java言語でWebアプリケーションなどを作成するために用いられるフレームワーク Spring Framework には、データバインディングで使用する、CachedIntrospectionResultsクラス内のPropertyDescriptorオブジェクトを安全に処理しない脆弱性があり、攻撃者にclass.classLoaderを呼び出され、システム内で任意のJavaコードが実行される可能性がある。アプリケーションの構成によっては、攻撃者に遠隔から認証なしで悪用される可能性がある。
2010年に同種の脆弱性が報告され、Spring Framework 2.5.6.SEC02で修正されたが、今回報告された脆弱性はこの修正を回避する新たな攻撃手法を提供するものとなる。
VMWareによると、本脆弱性を悪用する攻撃を成功させるためには複数の条件が必要で、2022年4月1日現在、同社に報告された攻撃シナリオでは、下記の条件が必要であった。
・JDK 9以上を使用している
・Apache Tomcatをサーブレットコンテナとして使用している
・WAR形式でデプロイされている
・プログラムがspring-webmvcあるいはspring-webfluxに依存している
ただし、上記以外にも攻撃が成功するための条件が存在する可能性がある。
JVNでは、対策済みバージョンとしてリリースされたSpring Framework 5.3.18および5.2.20にアップデートするよう呼びかけている。