Trusted Design

CVE-2022-22965 の詳細

CVEの情報

説明:
A Spring MVC or Spring WebFlux application running on JDK 9+ may be vulnerable to remote code execution (RCE) via data binding. The specific exploit requires the application to run on Tomcat as a WAR deployment. If the application is deployed as a Spring Boot executable jar, i.e. the default, it is not vulnerable to the exploit. However, the nature of the vulnerability is more general, and there may be other ways to exploit it.

CVE更新日: 2022-04-01 23:15:13.870000

CVSSバージョン: 3.1

CVSSスコア: 9.8

KEVの情報

KEV更新日: 2022-04-04

EPSSの情報

EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。

EPSSスコア: 0.996380000

EPSS更新日: 2026-10-16 00:00:00

SSVCの情報

SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。

Exploitation: active

Technical Impact: high

Automatable: True

AIを使った解説

解説:

CVE-2022-22965は、「Spring4Shell」または「SpringShell」とも呼ばれる、Spring Frameworkにおける深刻なリモートコード実行(RCE)の脆弱性です。この脆弱性は、2022年3月31日に公開されました。


1. 脆弱性の概要

Spring Frameworkのデータバインディング機能に存在する欠陥により、攻撃者がClassLoaderを操作できることで、リモートから任意のコードを実行する可能性があります。この脆弱性は、2010年に報告されたCVE-2010-1622と同様のメカニズムを悪用し、以前の修正を回避する新たな攻撃手法を提供します。

1.1 影響

この脆弱性が悪用された場合、攻撃者は認証なしで標的サーバー上で悪意のあるコードをリモートで実行し、サーバーを完全に制御する可能性があります。 これにより、以下のような深刻な被害が想定されます。

  • 機密情報の窃取:サーバー上のデータベース、ファイル、その他の機密情報へのアクセス。
  • ランサムウェアの展開:ファイルの暗号化と身代金の要求。
  • Webシェルやバックドアの設置:サーバーの遠隔操作や他のシステムへの攻撃拠点となるボット化。
  • 仮想通貨マイニングマルウェアの感染:CPUなどのリソースを消費し、システムのパフォーマンス低下やシャットダウンを引き起こす可能性。

1.2 深刻度

CVSSv3スコアは 9.8 (緊急) と評価されています。 攻撃元区分はネットワーク、攻撃条件の複雑さは低、攻撃に必要な特権レベルは不要、利用者の関与は不要であり、機密性、完全性、可用性への影響はすべて高です。


2. 対象となる環境

CVE-2022-22965は、特定の条件下でSpring Frameworkを使用しているアプリケーションに影響を与えます。

2.1 影響を受けるOSバージョン

OSバージョンに直接依存するわけではなく、JDK 9以降のJava Development Kit (JDK) を使用している環境で影響を受けます。

2.2 影響を受ける設定

以下の条件がすべて満たされる場合に脆弱性の影響を受ける可能性が高いとされています。

  • Spring Frameworkのバージョン:
    • 5.3.0から5.3.17まで
    • 5.2.0から5.2.19まで
    • サポート終了済みの古いバージョンも影響を受ける可能性があります。
  • JDKのバージョン: JDK 9以上を使用している。
  • サーブレットコンテナ: Apache Tomcatをサーブレットコンテナとして使用している。
  • デプロイ形式: WAR(Web ARchive)形式でデプロイされている。 (Spring Bootの実行可能なjarファイルとしてデプロイされている場合は、デフォルトでは脆弱ではありませんが、設定によっては影響を受ける可能性があります。)
  • Springの依存関係: spring-webmvcまたはspring-webfluxに依存している。
  • データバインディング: name=valueペアによるフォームバインディングを使用している場合(JSON/XMLのメッセージ変換を使用している場合は影響が少ない)。

3. 影響を受けた時の兆候

影響を受けた際の兆候としては、以下のようなものが挙げられます。

  • ホストベースの検出:
    • Webアプリケーションディレクトリ内の不審なファイル書き込み。
    • Webサーバープロセス(例: w3wp.exeやtomcat.exe)から、cmd.exeやpowershell.exeのような異常なコマンドが実行されている。
  • ログ分析:
    • Webサーバーのアクセスログに、既知のCVE-2022-22965の悪用パターンに合致するHTTPリクエストの痕跡。
  • ネットワークシグネチャ:
    • ネットワーク侵入検知システム(NIDS)が、CVE-2022-22965の既知の悪用パターンと一致するHTTPリクエストを検出。
  • 不審なファイルの存在:
    • サーバー上にWebシェル(例: .jspファイル)などの不審なファイルが作成されている。
    • 予期しないマルウェア(Miraiボットネットやコインマイナーなど)の感染。

4. 推奨対策

4.1 本対策

最も効果的な対策は、速やかにSpring Frameworkおよび関連コンポーネントを修正バージョンにアップグレードすることです。

  • Spring Framework:
    • Spring Framework 5.3.18 以降にアップグレード。
    • Spring Framework 5.2.20 以降にアップグレード。
  • Spring Boot:
    • Spring Boot 2.6.6 以降にアップグレード。
    • Spring Boot 2.5.12 以降にアップグレード。
  • Apache Tomcat:
    • Tomcatのバージョンを 10.0.20、9.0.62、または 8.5.78 にアップグレードすることでも攻撃経路を塞ぐことができます。

4.2 暫定回避策(緩和策)

パッチの適用がすぐにできない場合、以下の暫定的な回避策を適用することでリスクを軽減できます。

  • @ControllerAdviceを使用したWebDataBinderの設定:
    • @ControllerAdviceコンポーネントを作成し、WebDataBinderのsetDisallowedFieldsメソッドでclass.*、Class.*、*.class.*、*.Class.*などの特定のフィールドパターンをブラックリストに追加します。
    • ただし、コントローラがローカルで@InitBinderメソッドを通じてdisallowedFieldsを設定している場合、このグローバル設定は上書きされるため効果がない可能性があります。
  • Webアプリケーションファイアウォール (WAF) の導入:
    • 適切に設定されたWAFは、悪意のあるHTTPリクエストをブロックし、パッチ適用までの防御層を提供します。
  • JARパッケージングの優先:
    • 可能な場合、WARファイルではなくJARファイルとしてアプリケーションをパッケージングすることを推奨します。
  • 書き込み可能なディレクトリの制限:
    • サーバー上の書き込み可能なディレクトリを制限し、Webシェルなどの不正なファイルの作成を防ぎます。
  • 不審なファイルの監視:
    • Webアプリケーションディレクトリにおける不審なファイルの作成を継続的に監視します。

参照したサイト

NVDサイト

NVDでCVEの詳細を見る

戻る