piyolog

piyokangoの備忘録です。セキュリティの出来事を中心にまとめています。このサイトはGoogle Analyticsを利用しています。

Spring Frameworkの脆弱性 CVE-2022-22965(Spring4shell)についてまとめてみた

2022年3月31日、Spring Frameworkに致命的な脆弱性が確認され、修正版が公開されました。ここでは関連する情報をまとめます。

1.何が起きたの?

  • JDK9以上で実行されるSpringMVC、SpringWebFluxでリモートコード実行が可能な脆弱性(CVE-2022-22965)が確認された。脆弱性の通称にSpring4shellまたはSpringShellが用いられている。
  • Spring FrameworkはJavaで採用される主流なフレームワークの1つのため、Javaで実行されるWebアプリケーションで利用している可能性がある。
  • 2022年3月31日時点で脆弱性のExploitコードが出回っており、関連するインターネット上の活動が既に報告されている。

2.脆弱性を悪用されると何が起きるの?

  • 脆弱性を悪用された場合、リモートから任意コード実行が行われることで、機密情報の窃取やサーバーののっとり等の影響を受ける恐れがある。

3.影響を受ける条件は何?

次の条件が全て成立する場合、脆弱性の影響を受ける恐れがある。

  • 実行される環境がJDK9以上
  • 影響を受けるSrping Frameworkバージョンを利用
  • Apache Tomcatをサーブレットコンテナとして利用
  • WARファイルとしてパッケージ化
  • spring-webmvcまたはspring-webluxとの依存関係あり

これらの条件記載は2022年3月31日時点のもの。今後検証や評価等で新たな脆弱性悪用の方法が確認される可能性があるため公式の最新情報を参照すること。

影響を受けるバージョン
Spring Framework 5.3.0~5.3.17
5.2.0~5.2.19
  • サポートが終了している旧バージョンも影響を受ける
特に注意すべき環境

条件に該当する環境で次のいずれかに該当する場合、攻撃を既に受けている可能性があり、パッチ適用以外の影響(侵害の有無等)も含めた対応を強く推奨。

  • WAF等のセキュリティ対策製品を利用していない
  • インターネット上で公開しており第三者が容易にアクセスすることが可能となっている

4.脆弱性にどう対応すれば良いの?

緊急性の高い脆弱性であることから、詳細把握と並行(あるいは優先)して攻撃影響を緩和する対応を行うことが推奨される。

  1. Javaを利用するWebアプリケーションでリスク受容が可能かを最優先で評価し、必要に応じて低減策(アウトバウンド通信の制限、一時的なサーバー停止など)を講じる。
  2. 影響を受ける資産を確認する(関係者へ問合せをかける)。影響を受ける場合は速やかに影響評価を行い適切な対応策(最新版への更新を強く推奨)する。
  3. ソフトウエアの更新と合わせて攻撃による影響有無を確認する。(SOCなど担当するチームで適切に処理されているかを確認する。)
対応① 最新版への更新
  • 脆弱性へ対応したバージョンに更新する。
利用しているバージョン 推奨対応策
Spring Framework 5.3 5.3.18以上に更新
Spring Framework 5.2 5.2.20以上に更新
  • Spring Bootを利用している場合はSpring Framework 5.3.18に依存しているため脆弱性対応のバージョンに更新する。
利用しているバージョン 推奨対応策
Spring Boot 2.6 2.6.6以上に更新
Spring Boot 2.5 2.5.12以上に更新
対応② 回避策の適用
  • 更新がすぐに行えない等、最新版をすぐに利用できない場合は@ControllerAdviceを用いた設定変更(WebDataBinderに対して悪用可能なフィールドパターンをブラックリストに追加)による対応が紹介されている。
  • Springのセキュリティアドバイザリ(参照情報記載)ではこの回避策では抜けが生じる可能性を含むことを指摘しており、より確実な対応方法も記載。

5.既に悪用はされているの?

6.脆弱性の詳細を知りたい

CVE CVE-2022-22965
深刻度 Critical (VMware評価)
CVSSv3(base) 9.8 (VMware評価)
種類 RCE
報告日 2022年3月29日
修正版公開日 2022年3月31日
報告者 AntGroup FGのcodeplutos氏、meizjm3i氏
脆弱性の通称 Spring4Shell、SpringShell

当時CVE-2022-22965に関する公式情報が出ておらず、さらに同時期に出た別プロダクトの脆弱性等の情報と混同することで一時混乱が生じたが、次の2件と今回の脆弱性は関係ない。

更新履歴

  • 2022年4月1日 AM 新規作成