
Springライブラリの新たな脆弱性:危険に晒されているかどうかの確認方法と対処法
最近、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ヘッダーを介してこのプロパティを設定できないようにしています。いずれかのバージョンにアップグレードした後は、追加の手順は必要ありません。
開発者がより安全なコードを書くのをどのように支援するかについてもっと知りたいですか?デモを予約または、無料の安全なコーディングガイドラインをご覧くださいセキュアコードコーチ。
情報源
- https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/
- https://www.rapid7.com/blog/post/2022/03/30/spring4shell-zero-day-vulnerability-in-spring-framework/


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

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

最近、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ヘッダーを介してこのプロパティを設定できないようにしています。いずれかのバージョンにアップグレードした後は、追加の手順は必要ありません。
開発者がより安全なコードを書くのをどのように支援するかについてもっと知りたいですか?デモを予約または、無料の安全なコーディングガイドラインをご覧くださいセキュアコードコーチ。
情報源
- https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/
- https://www.rapid7.com/blog/post/2022/03/30/spring4shell-zero-day-vulnerability-in-spring-framework/

最近、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ヘッダーを介してこのプロパティを設定できないようにしています。いずれかのバージョンにアップグレードした後は、追加の手順は必要ありません。
開発者がより安全なコードを書くのをどのように支援するかについてもっと知りたいですか?デモを予約または、無料の安全なコーディングガイドラインをご覧くださいセキュアコードコーチ。
情報源
- https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/
- https://www.rapid7.com/blog/post/2022/03/30/spring4shell-zero-day-vulnerability-in-spring-framework/
最近、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ヘッダーを介してこのプロパティを設定できないようにしています。いずれかのバージョンにアップグレードした後は、追加の手順は必要ありません。
開発者がより安全なコードを書くのをどのように支援するかについてもっと知りたいですか?デモを予約または、無料の安全なコーディングガイドラインをご覧くださいセキュアコードコーチ。
情報源
- https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/
- https://www.rapid7.com/blog/post/2022/03/30/spring4shell-zero-day-vulnerability-in-spring-framework/




%20(1).avif)
.avif)
