公開日:2022/04/01 最終更新日:2022/04/21

JVNVU#94675398
Spring Frameworkにおける不適切なデータバインディング処理による任意コード実行の脆弱性

概要

Spring Frameworkには、データバインディングで使用するPropertyDescriptorオブジェクトの不適切な処理により、認証されていないリモートの攻撃者によって任意のJavaコードを実行される脆弱性が存在します。

影響を受けるシステム

  • Spring Framework バージョン5.3.0から5.3.17(5.3.x系)
  • Spring Framework バージョン5.2.0から5.2.19(5.2.x系)
また、NCSC-NLが各製品における本脆弱性の影響有無を取りまとめたリストを公開しています。
詳細はNCSC-NLが公開する情報をご確認ください。

詳細情報

Spring Frameworkは、Java言語でWebアプリケーションなどを作成するために用いられるフレームワークです。Spring Frameworkには、データバインディングで使用する、CachedIntrospectionResultsクラス内のPropertyDescriptorオブジェクトを安全に処理しない脆弱性(CVE-2022-22965)があります。その結果、攻撃者によりclass.classLoaderを呼び出され、システム内で任意のJavaコードが実行される可能性があります。

2010年に同種の脆弱性がCVE-2010-1622として報告され、Spring Framework 2.5.6.SEC02において修正されました。今回報告されたCVE-2022-22965はこの修正を回避する新たな攻撃手法を提供するものです。

なお、VMWareによると本脆弱性を悪用する攻撃を成功させるためには複数の条件が必要であることが示唆されています。2022年4月1日現在、同社が報告を受けた攻撃シナリオにおいては、以下の条件が必要であったとのことです。

  • JDK 9以上を使用している
  • Apache Tomcatをサーブレットコンテナとして使用している
  • WAR形式でデプロイされている
  • プログラムがspring-webmvcあるいはspring-webfluxに依存している
ただし、上記以外にも攻撃が成功するための条件が存在する可能性があります。今後公開される情報を注視してください。

想定される影響

攻撃者により細工されたデータをSpring Frameworkで作成されたアプリケーションが処理することにより、アプリケーションの権限で任意のコードを実行される可能性があります。アプリケーションの構成によっては、攻撃者によって遠隔から認証なしで悪用される可能性があります。

対策方法

アップデートする
開発者が提供する情報をもとに、最新版へアップデートしてください。
開発者は、対策済みバージョンとして、Spring Framework 5.3.18(5.3.x系)および5.2.20(5.2.x系)をリリースしています。

ベンダ情報

ベンダ ステータス ステータス
最終更新日
ベンダの告知ページ
Siemens AG 該当製品あり 2022/04/21 Siemens AG の告知ページ
トレンドマイクロ株式会社 該当製品無し 2022/04/21 トレンドマイクロ株式会社 の告知ページ

参考情報

  1. Vulnerability Note VU#970766
    Spring Framework insecurely handles PropertyDescriptor objects with data binding
  2. Palo Alto Networks - Unit42
    CVE-2022-22965: Spring Core Remote Code Execution Vulnerability Exploited In the Wild (SpringShell)
  3. Github - tweedge / springcore-0day-en
    springcore-0day-en
  4. Cyber Kendra
    SpringShell: Spring Core RCE 0-day Vulnerability
  5. JPCERT/CC CyberNewsFlash 2022-04-01
    Spring Frameworkの任意のコード実行の脆弱性(CVE-2022-22965)について
  6. Github - NCSC-NL / spring4shell
    Overview of software (un)affected by vulnerability
  7. DevelopersIO produced by Classmethod
    cve-2022-22965 Spring4Shell の影響調査

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE
JVN iPedia

更新履歴

2022/04/04
[影響を受けるシステム]、[対策方法]、[参考情報]を更新しました
2022/04/07
[参考情報]を更新しました
2022/04/21
Siemens AGのベンダステータスを更新しました
2022/04/21
トレンドマイクロ株式会社のベンダステータスが更新されました