SCW Icons
hero bg no divider
Blog

Springライブラリの新しい脆弱性:危険にさらされているかどうかを知る方法と対処方法

チャーリー・エリクセン
Published Apr 01, 2022
Last updated on Mar 10, 2026

最近、Java コミュニティで最も人気のあるライブラリの 1 つである 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ファイルとは対照的)
  • スプリングウェブMVCまたはスプリングウェブフラックス依存関係
  • Spring Framework バージョン 5.3.0 から 5.3.17、5.2.0 から 5.2.19、およびそれ以前のバージョン

「Spring4Shell」エクスプロイトはどのように機能しますか?

この悪用は、メソッドシグネチャにプレーン・オールド・Javaオブジェクト (POJO) を使用するリクエストで「データ・バインディング」(org.springFramework.web.bind.WebDataBinder) を使用することに依存しています。

ここで、Foo クラスは POJO クラスで、次のように定義できます。クラス・ローダーによってロードされる限り、実際のクラスは重要ではないことに注意してください。

このようなメソッドでリクエストが処理されると、クラスローダーを使用してクラスが解決されます。クラスローダーは、考えられるすべての型を最初にメモリーにプリロードしなくても、実行時にクラスをロードします。新しいクラスが使用されるときに、どの.jar ファイルを読み込むかが決まります。

この脆弱性に関する最新かつ詳細な情報は、Springから直接入手できます。 ブログポスト潜在的な修正または回避策を含みます。

脆弱性 2-スプリングクラウド機能 (CVE-2022-22963)

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

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

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

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

搾取の仕組みは?

Spring Cloud Function では、開発者がプロパティ spring.cloud.function.routing-expression を使用してルーティングの処理方法を構成できます。通常は設定またはコードを使用して行われます。これは「Spring エクスプレッション言語」(SpEL) を受け入れる強力な機能です。この 0 日間の脆弱性から、このプロパティがリクエストの HTTP ヘッダーを介して設定される可能性があることがわかりました。つまり、攻撃者が RoutingFunction エンドポイントへの HTTP リクエストに SpL コードを直接埋め込み、任意のコードを実行できるということです。

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

春には 解放された バージョン 3.1.7 および 3.2.3 では、HTTP ヘッダーを介してこのプロパティを設定できないようにすることでこの問題に対処し、脆弱性を軽減しています。いずれかのバージョンにアップグレードした後は、追加の手順は必要ありません。

開発者がより安全なコードを書くのをどのように支援するかについてもっと知りたいですか?デモを予約 または、無料の安全なコーディングガイドラインをご覧ください セキュアコードコーチ。

情報源

リソースを表示
リソースを表示

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

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

learn more

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする文化を築くお手伝いをします。アプリケーションセキュリティマネージャ、開発者、CISO、またはセキュリティ関係者のいずれであっても、安全でないコードに関連するリスクを軽減するお手伝いをします。

デモを予約
シェア:
linkedin brandsSocialx logo
著者
チャーリー・エリクセン
Published Apr 01, 2022

シェア:
linkedin brandsSocialx logo

最近、Java コミュニティで最も人気のあるライブラリの 1 つである 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ファイルとは対照的)
  • スプリングウェブMVCまたはスプリングウェブフラックス依存関係
  • Spring Framework バージョン 5.3.0 から 5.3.17、5.2.0 から 5.2.19、およびそれ以前のバージョン

「Spring4Shell」エクスプロイトはどのように機能しますか?

この悪用は、メソッドシグネチャにプレーン・オールド・Javaオブジェクト (POJO) を使用するリクエストで「データ・バインディング」(org.springFramework.web.bind.WebDataBinder) を使用することに依存しています。

ここで、Foo クラスは POJO クラスで、次のように定義できます。クラス・ローダーによってロードされる限り、実際のクラスは重要ではないことに注意してください。

このようなメソッドでリクエストが処理されると、クラスローダーを使用してクラスが解決されます。クラスローダーは、考えられるすべての型を最初にメモリーにプリロードしなくても、実行時にクラスをロードします。新しいクラスが使用されるときに、どの.jar ファイルを読み込むかが決まります。

この脆弱性に関する最新かつ詳細な情報は、Springから直接入手できます。 ブログポスト潜在的な修正または回避策を含みます。

脆弱性 2-スプリングクラウド機能 (CVE-2022-22963)

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

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

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

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

搾取の仕組みは?

Spring Cloud Function では、開発者がプロパティ spring.cloud.function.routing-expression を使用してルーティングの処理方法を構成できます。通常は設定またはコードを使用して行われます。これは「Spring エクスプレッション言語」(SpEL) を受け入れる強力な機能です。この 0 日間の脆弱性から、このプロパティがリクエストの HTTP ヘッダーを介して設定される可能性があることがわかりました。つまり、攻撃者が RoutingFunction エンドポイントへの HTTP リクエストに SpL コードを直接埋め込み、任意のコードを実行できるということです。

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

春には 解放された バージョン 3.1.7 および 3.2.3 では、HTTP ヘッダーを介してこのプロパティを設定できないようにすることでこの問題に対処し、脆弱性を軽減しています。いずれかのバージョンにアップグレードした後は、追加の手順は必要ありません。

開発者がより安全なコードを書くのをどのように支援するかについてもっと知りたいですか?デモを予約 または、無料の安全なコーディングガイドラインをご覧ください セキュアコードコーチ。

情報源

リソースを表示
リソースを表示

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

当社の製品および/または関連するセキュアコーディングのトピックに関する情報を送信する許可をお願いします。当社は、お客様の個人情報を常に細心の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

送信
scw success icon
scw error icon
フォームを送信するには、「アナリティクス」クッキーを有効にしてください。設定が完了したら、再度無効にしても構いません。

最近、Java コミュニティで最も人気のあるライブラリの 1 つである 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ファイルとは対照的)
  • スプリングウェブMVCまたはスプリングウェブフラックス依存関係
  • Spring Framework バージョン 5.3.0 から 5.3.17、5.2.0 から 5.2.19、およびそれ以前のバージョン

「Spring4Shell」エクスプロイトはどのように機能しますか?

この悪用は、メソッドシグネチャにプレーン・オールド・Javaオブジェクト (POJO) を使用するリクエストで「データ・バインディング」(org.springFramework.web.bind.WebDataBinder) を使用することに依存しています。

ここで、Foo クラスは POJO クラスで、次のように定義できます。クラス・ローダーによってロードされる限り、実際のクラスは重要ではないことに注意してください。

このようなメソッドでリクエストが処理されると、クラスローダーを使用してクラスが解決されます。クラスローダーは、考えられるすべての型を最初にメモリーにプリロードしなくても、実行時にクラスをロードします。新しいクラスが使用されるときに、どの.jar ファイルを読み込むかが決まります。

この脆弱性に関する最新かつ詳細な情報は、Springから直接入手できます。 ブログポスト潜在的な修正または回避策を含みます。

脆弱性 2-スプリングクラウド機能 (CVE-2022-22963)

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

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

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

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

搾取の仕組みは?

Spring Cloud Function では、開発者がプロパティ spring.cloud.function.routing-expression を使用してルーティングの処理方法を構成できます。通常は設定またはコードを使用して行われます。これは「Spring エクスプレッション言語」(SpEL) を受け入れる強力な機能です。この 0 日間の脆弱性から、このプロパティがリクエストの HTTP ヘッダーを介して設定される可能性があることがわかりました。つまり、攻撃者が RoutingFunction エンドポイントへの HTTP リクエストに SpL コードを直接埋め込み、任意のコードを実行できるということです。

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

春には 解放された バージョン 3.1.7 および 3.2.3 では、HTTP ヘッダーを介してこのプロパティを設定できないようにすることでこの問題に対処し、脆弱性を軽減しています。いずれかのバージョンにアップグレードした後は、追加の手順は必要ありません。

開発者がより安全なコードを書くのをどのように支援するかについてもっと知りたいですか?デモを予約 または、無料の安全なコーディングガイドラインをご覧ください セキュアコードコーチ。

情報源

オンラインセミナーを見る
始めよう
learn more

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

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする文化を築くお手伝いをします。アプリケーションセキュリティマネージャ、開発者、CISO、またはセキュリティ関係者のいずれであっても、安全でないコードに関連するリスクを軽減するお手伝いをします。

レポートを表示デモを予約
PDF をダウンロード
リソースを表示
シェア:
linkedin brandsSocialx logo
もっと興味がありますか?

シェア:
linkedin brandsSocialx logo
著者
チャーリー・エリクセン
Published Apr 01, 2022

シェア:
linkedin brandsSocialx logo

最近、Java コミュニティで最も人気のあるライブラリの 1 つである 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ファイルとは対照的)
  • スプリングウェブMVCまたはスプリングウェブフラックス依存関係
  • Spring Framework バージョン 5.3.0 から 5.3.17、5.2.0 から 5.2.19、およびそれ以前のバージョン

「Spring4Shell」エクスプロイトはどのように機能しますか?

この悪用は、メソッドシグネチャにプレーン・オールド・Javaオブジェクト (POJO) を使用するリクエストで「データ・バインディング」(org.springFramework.web.bind.WebDataBinder) を使用することに依存しています。

ここで、Foo クラスは POJO クラスで、次のように定義できます。クラス・ローダーによってロードされる限り、実際のクラスは重要ではないことに注意してください。

このようなメソッドでリクエストが処理されると、クラスローダーを使用してクラスが解決されます。クラスローダーは、考えられるすべての型を最初にメモリーにプリロードしなくても、実行時にクラスをロードします。新しいクラスが使用されるときに、どの.jar ファイルを読み込むかが決まります。

この脆弱性に関する最新かつ詳細な情報は、Springから直接入手できます。 ブログポスト潜在的な修正または回避策を含みます。

脆弱性 2-スプリングクラウド機能 (CVE-2022-22963)

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

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

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

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

搾取の仕組みは?

Spring Cloud Function では、開発者がプロパティ spring.cloud.function.routing-expression を使用してルーティングの処理方法を構成できます。通常は設定またはコードを使用して行われます。これは「Spring エクスプレッション言語」(SpEL) を受け入れる強力な機能です。この 0 日間の脆弱性から、このプロパティがリクエストの HTTP ヘッダーを介して設定される可能性があることがわかりました。つまり、攻撃者が RoutingFunction エンドポイントへの HTTP リクエストに SpL コードを直接埋め込み、任意のコードを実行できるということです。

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

春には 解放された バージョン 3.1.7 および 3.2.3 では、HTTP ヘッダーを介してこのプロパティを設定できないようにすることでこの問題に対処し、脆弱性を軽減しています。いずれかのバージョンにアップグレードした後は、追加の手順は必要ありません。

開発者がより安全なコードを書くのをどのように支援するかについてもっと知りたいですか?デモを予約 または、無料の安全なコーディングガイドラインをご覧ください セキュアコードコーチ。

情報源

目次

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

learn more

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする文化を築くお手伝いをします。アプリケーションセキュリティマネージャ、開発者、CISO、またはセキュリティ関係者のいずれであっても、安全でないコードに関連するリスクを軽減するお手伝いをします。

デモを予約[ダウンロード]
シェア:
linkedin brandsSocialx logo
リソースハブ

始めるためのリソース

その他の投稿
リソースハブ

始めるためのリソース

その他の投稿