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

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

チャーリー・エリクセン
2022年4月1日 発行
最終更新日: 2026年3月10日

最近、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ファイルとは対照的)
  • Spring Web MVCまたはSpring Web Flux依存関係
  • 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-Spring Cloud 機能 (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) を受け入れる強力な機能です。このゼロデイ脆弱性により、このプロパティがリクエストの HTTP ヘッダーを介して設定される可能性があることが判明しました。つまり、攻撃者が RoutingFunction エンドポイントへの HTTP リクエストに SpEL コードを直接埋め込み、任意のコードを実行できるということです。

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

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

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

情報源

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

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

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

もっと詳しく

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

デモを予約
シェア:
リンクトインのブランドソーシャルx ロゴ
著者
チャーリー・エリクセン
2022年4月1日発行

シェア:
リンクトインのブランドソーシャルx ロゴ

最近、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ファイルとは対照的)
  • Spring Web MVCまたはSpring Web Flux依存関係
  • 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-Spring Cloud 機能 (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) を受け入れる強力な機能です。このゼロデイ脆弱性により、このプロパティがリクエストの HTTP ヘッダーを介して設定される可能性があることが判明しました。つまり、攻撃者が RoutingFunction エンドポイントへの HTTP リクエストに SpEL コードを直接埋め込み、任意のコードを実行できるということです。

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

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

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

情報源

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

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

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

送信
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、「アナリティクス」クッキーを有効にしてください。設定が完了したら、再度無効にしても構いません。

最近、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ファイルとは対照的)
  • Spring Web MVCまたはSpring Web Flux依存関係
  • 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-Spring Cloud 機能 (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) を受け入れる強力な機能です。このゼロデイ脆弱性により、このプロパティがリクエストの HTTP ヘッダーを介して設定される可能性があることが判明しました。つまり、攻撃者が RoutingFunction エンドポイントへの HTTP リクエストに SpEL コードを直接埋め込み、任意のコードを実行できるということです。

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

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

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

情報源

オンラインセミナーを見る
始めよう
もっと詳しく

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

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

レポートを表示デモを予約
PDFをダウンロード
リソースを表示
シェア:
リンクトインのブランドソーシャルx ロゴ
もっと興味がありますか?

シェア:
リンクトインのブランドソーシャルx ロゴ
著者
チャーリー・エリクセン
2022年4月1日発行

シェア:
リンクトインのブランドソーシャルx ロゴ

最近、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ファイルとは対照的)
  • Spring Web MVCまたはSpring Web Flux依存関係
  • 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-Spring Cloud 機能 (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) を受け入れる強力な機能です。このゼロデイ脆弱性により、このプロパティがリクエストの HTTP ヘッダーを介して設定される可能性があることが判明しました。つまり、攻撃者が RoutingFunction エンドポイントへの HTTP リクエストに SpEL コードを直接埋め込み、任意のコードを実行できるということです。

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

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

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

情報源

目次

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

もっと詳しく

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

デモを予約[ダウンロード]
シェア:
リンクトインのブランドソーシャルx ロゴ
リソースハブ

始めるためのリソース

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

始めるためのリソース

その他の投稿