こちらの記事は、セキュリティ専門家の松野によるニュース解説ラジオ「今日の10分セキュリティラジオ」の放送内容を文字に起こしご紹介しています。
独立行政法人情報処理推進機構(IPA)および一般社団法人JPCERT コーディネーションセンター(JPCERT/CC)は4月1日、Spring Frameworkにおける不適切なデータバインディング処理による任意コード実行の脆弱性について「JVN」で発表した。(記事はこちら)
【お届けするニュースはサイバーセキュリティ専門ニュースサイト「ScanNetSecurity」の提供でお送りしています。】CVE-2022-22965が割り当てられている、任意のJavaコードが実行できるJavaフレームワークの脆弱性について発表されています。通称「Spring4Shell」とも呼ばれている、本脆弱性の内容や、昨年末に公表されたLog4jとの違いについて説明します。
今回の脆弱性は、Java言語でWebアプリケーションなどを作成するために用いられるフレームワーク「Spring Framework」のバージョン5.3.0から5.3.17と、5.2.0から5.2.19に存在しています。攻撃者に脆弱性を悪用されることにより、システム内で任意のJavaコードが実行される可能性があるということです。
対策として、対策済みバージョンとしてリリースされたSpring Framework 5.3.18および5.2.20にアップデートする事が必要です。アップデートが難しい場合の回避策として、Tomcatのアップグレード、Java 8へのダウングレード、使用可能なフィールドの制限が挙げられています。なお、CVE-2022-22963が割り当てられている、Spring Cloud Functionで任意のコードが実行できる脆弱性とは別の脆弱性であるということです。
今回の脆弱性は、システム内で任意のJavaコードが実行される可能性があると言われていますので、システムが乗っ取られたり、マルウェアの感染に悪用されたりする可能性がありますが、攻撃を成功させるためには複数の条件が必要であることが言われています。少し技術的な内容になりますが、できるだけわかりやすく説明します。
一般的に、任意のコードが実行できる脆弱性は、脆弱性の存在しているソフトウェアに割り当てられている権限で、任意の操作ができることになります。今回のCVE-2022-22965では、Spring Frameworkと連携するJavaの実行環境であるTomcatが作成するログの設定をJavaコードで書かれたファイルとして出力するように変更できるため、システム内で任意のJavaコードが実行できることになります。
ただし、今回の脆弱性を悪用するためは「JDK 9以上を使用している」「Apache Tomcatをサーブレットコンテナとして使用している」「WAR形式でデプロイされている」「プログラムがspring-webmvcあるいはspring-webfluxに依存している」ことが必要と言われています。あくまでも現時点での内容であり、他の条件でも攻撃が成功する可能性があるため、今後公開される情報も注視してください。
Apache Log4jの脆弱性であるLog4Shellと、今回のSpring Frameworkの脆弱性であるSpring4Shellは、内容も影響も異なる脆弱性です。さらに技術的な内容になりますが、頑張って最後まで読んでください。
今回は、Spring4Shellの脆弱性と、現時点で想定される影響範囲についてお届けしました。今後もSpring4Shellの追加情報がありましたら、再度取り上げていきます。
今日の10分セキュリティラジオにて毎週月・水・金にセキュリティの最新ニュースを取り上げ解説を行っています。隙間の時間の情報収集にぜひお役立てください!
お見積り・ご相談など、お気軽にご相談ください
サイトTOPへ