
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ファイルとは対照的)
- スプリングウェブ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 ヘッダーを介してこのプロパティを設定できないようにすることでこの問題に対処し、脆弱性を軽減しています。いずれかのバージョンにアップグレードした後は、追加の手順は必要ありません。
開発者がより安全なコードを書くのをどのように支援するかについてもっと知りたいですか?デモを予約 または、無料の安全なコーディングガイドラインをご覧ください セキュアコードコーチ。
情報源
- 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ファイルとは対照的)
- スプリングウェブ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 ヘッダーを介してこのプロパティを設定できないようにすることでこの問題に対処し、脆弱性を軽減しています。いずれかのバージョンにアップグレードした後は、追加の手順は必要ありません。
開発者がより安全なコードを書くのをどのように支援するかについてもっと知りたいですか?デモを予約 または、無料の安全なコーディングガイドラインをご覧ください セキュアコードコーチ。
情報源
- 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ファイルとは対照的)
- スプリングウェブ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 ヘッダーを介してこのプロパティを設定できないようにすることでこの問題に対処し、脆弱性を軽減しています。いずれかのバージョンにアップグレードした後は、追加の手順は必要ありません。
開発者がより安全なコードを書くのをどのように支援するかについてもっと知りたいですか?デモを予約 または、無料の安全なコーディングガイドラインをご覧ください セキュアコードコーチ。
情報源
- 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ファイルとは対照的)
- スプリングウェブ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 ヘッダーを介してこのプロパティを設定できないようにすることでこの問題に対処し、脆弱性を軽減しています。いずれかのバージョンにアップグレードした後は、追加の手順は必要ありません。
開発者がより安全なコードを書くのをどのように支援するかについてもっと知りたいですか?デモを予約 または、無料の安全なコーディングガイドラインをご覧ください セキュアコードコーチ。
情報源
- 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/
始めるためのリソース
Threat Modeling with AI: Turning Every Developer into a Threat Modeler
Walk away better equipped to help developers combine threat modeling ideas and techniques with the AI tools they're already using to strengthen security, improve collaboration, and build more resilient software from the start.




%20(1).avif)
.avif)
