SCW アイコン
ヒーロー背景(区切りなし)
ブログ

Springライブラリの新たな脆弱性:危険にさらされているか確認する方法と対処方法

Charlie Eriksen
2022年4月1日 発行
最終更新日: 2026年3月9日

最近、Javaコミュニティで最も人気のあるライブラリの一つであるSpringライブラリが、リモートコード実行(RCE)に関連する2つの脆弱性を公開しました。脆弱性が発生するリスクがあるかどうか、どのような対策を取るべきかを容易に理解できるよう、「Spring4Shell」と「Spring Cloud Function」に関する既知の詳細情報を分類しました。

脆弱性 1 - 「Spring4Shell」 (CVE-2022-22965)

2022年3月29日、コミュニティはSpring Core(SC)を対象としたエクスプロイトの概念実証スクリーンショットを含む一連のツイートを発見しました。これにより、最新リリース版である5.3.17を含むSpring Coreの全バージョンにおいて、リモートコード実行が可能であることが判明しました。

どのアプリケーションが危険にさらされていますか?

現在、Tomcatでホスティングされているアプリケーションのみが、この新たなエクスプロイトの危険に晒されていることが確認されています。Embedded Tomcat Servlet ContainerやTomcatでホスティングされていない他のアプリケーションに対する攻撃が成功したことは証明されていませんが、将来的にこれらのフレームワークに対する脅威が成功する可能性を排除することはできません。

スプリング公式リリース声明書における脆弱性に関する現在の理解に基づき、脆弱性として認定されるには以下の条件を満たす必要があることを明確化する脆弱性について説明します。

  • JDK 9 以上
  • Apache Tomcat としてのサーブレットコンテナ
  • 既存のWARでパッケージ化済み(Spring Boot実行可能JARとの対比)
  • Spring Web MVC または Spring WebFlux の依存関係
  • Spring Framework バージョン 5.3.0~5.3.17、5.2.0~5.2.19 およびそれ以前のバージョン

「Spring4Shell」エクスプロイトはどのように動作するのですか?

悪用は、メソッドシグネチャで一般的なPOJO(Plain Old Java Object)を使用するリクエストにおいて、「データバインディング」(org.SpringFramework.web.bind.WebDataBinder)の使用に依存しています。

ここでFooクラスはPOJOクラスであり、以下のように定義できます。なお、実際のクラスはクラスローダーによってロードされる限り、重要ではありません。

このようなメソッドでリクエストを処理する際、クラスローダーはクラスの解決に使用されます。クラスローダーは、可能なすべてのタイプを事前にメモリにロードする必要なく、実行時にクラスをロードする役割を担います。新しいクラスを使用する際、ロードすべき.jarファイルを特定します。

この脆弱性に関する最新の詳細情報は、Springから直接確認できます。ブログ記事(潜在的な修正または回避策を含む)

脆弱性 2 - Spring Cloud Functions (CVE-2022-22963)

2022年3月27日、サイバーケンドラはパッチが存在しないSpring Cloud Functionsの0日リモートコード実行(RCE)脆弱性に関する詳細を公開しました。この脆弱性にはIDが割り当てられました:CVE-2022-22963: Spring Expressionリソースアクセス脆弱性

どのアプリケーションが危険にさらされていますか?

この脆弱性は、以下の条件下でアプリケーションに影響を与えました。

  • JDK 9 以上
  • Spring Cloud Functions バージョン 3.1.6(またはそれ以前)、3.2.2(またはそれ以前)、またはサポートされていないバージョン

搾取はどのように行われるのですか?

Spring Cloud Functionは、開発者がspring.cloud.function.routing-expressionプロパティを通じてルーティング処理を構成できる機能を提供します。これは「Spring式言語」(SpEL)を受け入れる強力な機能です。このゼロデイ脆弱性により、リクエストのHTTPヘッダーを通じてこのプロパティを設定できることが判明しました。 つまり、攻撃者はRoutingFunctionエンドポイントへのHTTPリクエストにSpELコードを直接埋め込むことで、任意のコードを実行できる可能性があります。

リスクを軽減するために、ユーザーはどのような措置を取るべきでしょうか?

SpringHAS公開版3.1.7および3.2.3では、HTTPヘッダー経由でこの属性を設定できないようにすることで脆弱性を緩和し、この問題を解決します。いずれかのバージョンにアップグレード後は追加手順は不要です。

開発者がより安全なコードを書けるよう支援する方法について詳しく知りたいですか?デモを予約するか、当社の無料セキュリティコーディングガイドラインをご覧ください。セキュリティコードコーチ。

出典

リソースを見る
リソースを見る

最近、Javaコミュニティで最も人気のあるライブラリの一つであるSpringライブラリが、リモートコード実行(RCE)に関連する脆弱性2件を公開しました。「Spring4Shell」と「Spring Cloud Function」に関する既知の詳細情報を分析し、危険に晒されているかどうか、また危険に晒されている場合の対処方法を理解するのに役立ちます。

もっと興味がありますか?

もっと詳しく

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。

デモ予約
共有対象:
リンクトインのブランドソーシャルx ロゴ
作成者
Charlie Eriksen
2022年4月1日発行

共有対象:
リンクトインのブランドソーシャルx ロゴ

最近、Javaコミュニティで最も人気のあるライブラリの一つであるSpringライブラリが、リモートコード実行(RCE)に関連する2つの脆弱性を公開しました。脆弱性が発生するリスクがあるかどうか、どのような対策を取るべきかを容易に理解できるよう、「Spring4Shell」と「Spring Cloud Function」に関する既知の詳細情報を分類しました。

脆弱性 1 - 「Spring4Shell」 (CVE-2022-22965)

2022年3月29日、コミュニティはSpring Core(SC)を対象としたエクスプロイトの概念実証スクリーンショットを含む一連のツイートを発見しました。これにより、最新リリース版である5.3.17を含むSpring Coreの全バージョンにおいて、リモートコード実行が可能であることが判明しました。

どのアプリケーションが危険にさらされていますか?

現在、Tomcatでホスティングされているアプリケーションのみが、この新たなエクスプロイトの危険に晒されていることが確認されています。Embedded Tomcat Servlet ContainerやTomcatでホスティングされていない他のアプリケーションに対する攻撃が成功したことは証明されていませんが、将来的にこれらのフレームワークに対する脅威が成功する可能性を排除することはできません。

スプリング公式リリース声明書における脆弱性に関する現在の理解に基づき、脆弱性として認定されるには以下の条件を満たす必要があることを明確化する脆弱性について説明します。

  • JDK 9 以上
  • Apache Tomcat としてのサーブレットコンテナ
  • 既存のWARでパッケージ化済み(Spring Boot実行可能JARとの対比)
  • Spring Web MVC または Spring WebFlux の依存関係
  • Spring Framework バージョン 5.3.0~5.3.17、5.2.0~5.2.19 およびそれ以前のバージョン

「Spring4Shell」エクスプロイトはどのように動作するのですか?

悪用は、メソッドシグネチャで一般的なPOJO(Plain Old Java Object)を使用するリクエストにおいて、「データバインディング」(org.SpringFramework.web.bind.WebDataBinder)の使用に依存しています。

ここでFooクラスはPOJOクラスであり、以下のように定義できます。なお、実際のクラスはクラスローダーによってロードされる限り、重要ではありません。

このようなメソッドでリクエストを処理する際、クラスローダーはクラスの解決に使用されます。クラスローダーは、可能なすべてのタイプを事前にメモリにロードする必要なく、実行時にクラスをロードする役割を担います。新しいクラスを使用する際、ロードすべき.jarファイルを特定します。

この脆弱性に関する最新の詳細情報は、Springから直接確認できます。ブログ記事(潜在的な修正または回避策を含む)

脆弱性 2 - Spring Cloud Functions (CVE-2022-22963)

2022年3月27日、サイバーケンドラはパッチが存在しないSpring Cloud Functionsの0日リモートコード実行(RCE)脆弱性に関する詳細を公開しました。この脆弱性にはIDが割り当てられました:CVE-2022-22963: Spring Expressionリソースアクセス脆弱性

どのアプリケーションが危険にさらされていますか?

この脆弱性は、以下の条件下でアプリケーションに影響を与えました。

  • JDK 9 以上
  • Spring Cloud Functions バージョン 3.1.6(またはそれ以前)、3.2.2(またはそれ以前)、またはサポートされていないバージョン

搾取はどのように行われるのですか?

Spring Cloud Functionは、開発者がspring.cloud.function.routing-expressionプロパティを通じてルーティング処理を構成できる機能を提供します。これは「Spring式言語」(SpEL)を受け入れる強力な機能です。このゼロデイ脆弱性により、リクエストのHTTPヘッダーを通じてこのプロパティを設定できることが判明しました。 つまり、攻撃者はRoutingFunctionエンドポイントへのHTTPリクエストにSpELコードを直接埋め込むことで、任意のコードを実行できる可能性があります。

リスクを軽減するために、ユーザーはどのような措置を取るべきでしょうか?

SpringHAS公開版3.1.7および3.2.3では、HTTPヘッダー経由でこの属性を設定できないようにすることで脆弱性を緩和し、この問題を解決します。いずれかのバージョンにアップグレード後は追加手順は不要です。

開発者がより安全なコードを書けるよう支援する方法について詳しく知りたいですか?デモを予約するか、当社の無料セキュリティコーディングガイドラインをご覧ください。セキュリティコードコーチ。

出典

リソースを見る
リソースを見る

レポートをダウンロードするには、以下のフォームにご記入ください。

当社製品および/または関連するセキュリティコーディングのトピックに関する情報をお送りするため、お客様の同意を求めます。当社は常に、お客様の個人情報を最大限の注意を払って取り扱い、マーケティング目的で他社に販売することは一切ありません。

提出
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには「Analytics」クッキーを有効にしてください。完了後、いつでも再度無効にできます。

最近、Javaコミュニティで最も人気のあるライブラリの一つであるSpringライブラリが、リモートコード実行(RCE)に関連する2つの脆弱性を公開しました。脆弱性が発生するリスクがあるかどうか、どのような対策を取るべきかを容易に理解できるよう、「Spring4Shell」と「Spring Cloud Function」に関する既知の詳細情報を分類しました。

脆弱性 1 - 「Spring4Shell」 (CVE-2022-22965)

2022年3月29日、コミュニティはSpring Core(SC)を対象としたエクスプロイトの概念実証スクリーンショットを含む一連のツイートを発見しました。これにより、最新リリース版である5.3.17を含むSpring Coreの全バージョンにおいて、リモートコード実行が可能であることが判明しました。

どのアプリケーションが危険にさらされていますか?

現在、Tomcatでホスティングされているアプリケーションのみが、この新たなエクスプロイトの危険に晒されていることが確認されています。Embedded Tomcat Servlet ContainerやTomcatでホスティングされていない他のアプリケーションに対する攻撃が成功したことは証明されていませんが、将来的にこれらのフレームワークに対する脅威が成功する可能性を排除することはできません。

スプリング公式リリース声明書における脆弱性に関する現在の理解に基づき、脆弱性として認定されるには以下の条件を満たす必要があることを明確化する脆弱性について説明します。

  • JDK 9 以上
  • Apache Tomcat としてのサーブレットコンテナ
  • 既存のWARでパッケージ化済み(Spring Boot実行可能JARとの対比)
  • Spring Web MVC または Spring WebFlux の依存関係
  • Spring Framework バージョン 5.3.0~5.3.17、5.2.0~5.2.19 およびそれ以前のバージョン

「Spring4Shell」エクスプロイトはどのように動作するのですか?

悪用は、メソッドシグネチャで一般的なPOJO(Plain Old Java Object)を使用するリクエストにおいて、「データバインディング」(org.SpringFramework.web.bind.WebDataBinder)の使用に依存しています。

ここでFooクラスはPOJOクラスであり、以下のように定義できます。なお、実際のクラスはクラスローダーによってロードされる限り、重要ではありません。

このようなメソッドでリクエストを処理する際、クラスローダーはクラスの解決に使用されます。クラスローダーは、可能なすべてのタイプを事前にメモリにロードする必要なく、実行時にクラスをロードする役割を担います。新しいクラスを使用する際、ロードすべき.jarファイルを特定します。

この脆弱性に関する最新の詳細情報は、Springから直接確認できます。ブログ記事(潜在的な修正または回避策を含む)

脆弱性 2 - Spring Cloud Functions (CVE-2022-22963)

2022年3月27日、サイバーケンドラはパッチが存在しないSpring Cloud Functionsの0日リモートコード実行(RCE)脆弱性に関する詳細を公開しました。この脆弱性にはIDが割り当てられました:CVE-2022-22963: Spring Expressionリソースアクセス脆弱性

どのアプリケーションが危険にさらされていますか?

この脆弱性は、以下の条件下でアプリケーションに影響を与えました。

  • JDK 9 以上
  • Spring Cloud Functions バージョン 3.1.6(またはそれ以前)、3.2.2(またはそれ以前)、またはサポートされていないバージョン

搾取はどのように行われるのですか?

Spring Cloud Functionは、開発者がspring.cloud.function.routing-expressionプロパティを通じてルーティング処理を構成できる機能を提供します。これは「Spring式言語」(SpEL)を受け入れる強力な機能です。このゼロデイ脆弱性により、リクエストのHTTPヘッダーを通じてこのプロパティを設定できることが判明しました。 つまり、攻撃者はRoutingFunctionエンドポイントへのHTTPリクエストにSpELコードを直接埋め込むことで、任意のコードを実行できる可能性があります。

リスクを軽減するために、ユーザーはどのような措置を取るべきでしょうか?

SpringHAS公開版3.1.7および3.2.3では、HTTPヘッダー経由でこの属性を設定できないようにすることで脆弱性を緩和し、この問題を解決します。いずれかのバージョンにアップグレード後は追加手順は不要です。

開発者がより安全なコードを書けるよう支援する方法について詳しく知りたいですか?デモを予約するか、当社の無料セキュリティコーディングガイドラインをご覧ください。セキュリティコードコーチ。

出典

ウェビナーを見る
はじめに
もっと詳しく

以下のリンクをクリックし、このリソースのPDFをダウンロードしてください。

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。

レポートを見るデモ予約
リソースを見る
共有対象:
リンクトインのブランドソーシャルx ロゴ
もっと興味がありますか?

共有対象:
リンクトインのブランドソーシャルx ロゴ
作成者
Charlie Eriksen
2022年4月1日発行

共有対象:
リンクトインのブランドソーシャルx ロゴ

最近、Javaコミュニティで最も人気のあるライブラリの一つであるSpringライブラリが、リモートコード実行(RCE)に関連する2つの脆弱性を公開しました。脆弱性が発生するリスクがあるかどうか、どのような対策を取るべきかを容易に理解できるよう、「Spring4Shell」と「Spring Cloud Function」に関する既知の詳細情報を分類しました。

脆弱性 1 - 「Spring4Shell」 (CVE-2022-22965)

2022年3月29日、コミュニティはSpring Core(SC)を対象としたエクスプロイトの概念実証スクリーンショットを含む一連のツイートを発見しました。これにより、最新リリース版である5.3.17を含むSpring Coreの全バージョンにおいて、リモートコード実行が可能であることが判明しました。

どのアプリケーションが危険にさらされていますか?

現在、Tomcatでホスティングされているアプリケーションのみが、この新たなエクスプロイトの危険に晒されていることが確認されています。Embedded Tomcat Servlet ContainerやTomcatでホスティングされていない他のアプリケーションに対する攻撃が成功したことは証明されていませんが、将来的にこれらのフレームワークに対する脅威が成功する可能性を排除することはできません。

スプリング公式リリース声明書における脆弱性に関する現在の理解に基づき、脆弱性として認定されるには以下の条件を満たす必要があることを明確化する脆弱性について説明します。

  • JDK 9 以上
  • Apache Tomcat としてのサーブレットコンテナ
  • 既存のWARでパッケージ化済み(Spring Boot実行可能JARとの対比)
  • Spring Web MVC または Spring WebFlux の依存関係
  • Spring Framework バージョン 5.3.0~5.3.17、5.2.0~5.2.19 およびそれ以前のバージョン

「Spring4Shell」エクスプロイトはどのように動作するのですか?

悪用は、メソッドシグネチャで一般的なPOJO(Plain Old Java Object)を使用するリクエストにおいて、「データバインディング」(org.SpringFramework.web.bind.WebDataBinder)の使用に依存しています。

ここでFooクラスはPOJOクラスであり、以下のように定義できます。なお、実際のクラスはクラスローダーによってロードされる限り、重要ではありません。

このようなメソッドでリクエストを処理する際、クラスローダーはクラスの解決に使用されます。クラスローダーは、可能なすべてのタイプを事前にメモリにロードする必要なく、実行時にクラスをロードする役割を担います。新しいクラスを使用する際、ロードすべき.jarファイルを特定します。

この脆弱性に関する最新の詳細情報は、Springから直接確認できます。ブログ記事(潜在的な修正または回避策を含む)

脆弱性 2 - Spring Cloud Functions (CVE-2022-22963)

2022年3月27日、サイバーケンドラはパッチが存在しないSpring Cloud Functionsの0日リモートコード実行(RCE)脆弱性に関する詳細を公開しました。この脆弱性にはIDが割り当てられました:CVE-2022-22963: Spring Expressionリソースアクセス脆弱性

どのアプリケーションが危険にさらされていますか?

この脆弱性は、以下の条件下でアプリケーションに影響を与えました。

  • JDK 9 以上
  • Spring Cloud Functions バージョン 3.1.6(またはそれ以前)、3.2.2(またはそれ以前)、またはサポートされていないバージョン

搾取はどのように行われるのですか?

Spring Cloud Functionは、開発者がspring.cloud.function.routing-expressionプロパティを通じてルーティング処理を構成できる機能を提供します。これは「Spring式言語」(SpEL)を受け入れる強力な機能です。このゼロデイ脆弱性により、リクエストのHTTPヘッダーを通じてこのプロパティを設定できることが判明しました。 つまり、攻撃者はRoutingFunctionエンドポイントへのHTTPリクエストにSpELコードを直接埋め込むことで、任意のコードを実行できる可能性があります。

リスクを軽減するために、ユーザーはどのような措置を取るべきでしょうか?

SpringHAS公開版3.1.7および3.2.3では、HTTPヘッダー経由でこの属性を設定できないようにすることで脆弱性を緩和し、この問題を解決します。いずれかのバージョンにアップグレード後は追加手順は不要です。

開発者がより安全なコードを書けるよう支援する方法について詳しく知りたいですか?デモを予約するか、当社の無料セキュリティコーディングガイドラインをご覧ください。セキュリティコードコーチ。

出典

目次

PDFダウンロード
リソースを見る
もっと興味がありますか?

もっと詳しく

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。

デモ予約ダウンロード
共有対象:
リンクトインのブランドソーシャルx ロゴ
リソースハブ

始めるのに役立つリソース

もっと多くの投稿
リソースハブ

始めるのに役立つリソース

もっと多くの投稿