
Springライブラリの新たな脆弱性:危険にさらされているか確認する方法と対処方法
最近、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ヘッダー経由でこの属性を設定できないようにすることで脆弱性を緩和し、この問題を解決します。いずれかのバージョンにアップグレード後は追加手順は不要です。
開発者がより安全なコードを書けるよう支援する方法について詳しく知りたいですか?デモを予約するか、当社の無料セキュリティコーディングガイドラインをご覧ください。セキュリティコードコーチ。
出典
- 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コミュニティで最も人気のあるライブラリの一つであるSpringライブラリが、リモートコード実行(RCE)に関連する脆弱性2件を公開しました。「Spring4Shell」と「Spring Cloud Function」に関する既知の詳細情報を分析し、危険に晒されているかどうか、また危険に晒されている場合の対処方法を理解するのに役立ちます。

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

最近、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ヘッダー経由でこの属性を設定できないようにすることで脆弱性を緩和し、この問題を解決します。いずれかのバージョンにアップグレード後は追加手順は不要です。
開発者がより安全なコードを書けるよう支援する方法について詳しく知りたいですか?デモを予約するか、当社の無料セキュリティコーディングガイドラインをご覧ください。セキュリティコードコーチ。
出典
- 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コミュニティで最も人気のあるライブラリの一つである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ヘッダー経由でこの属性を設定できないようにすることで脆弱性を緩和し、この問題を解決します。いずれかのバージョンにアップグレード後は追加手順は不要です。
開発者がより安全なコードを書けるよう支援する方法について詳しく知りたいですか?デモを予約するか、当社の無料セキュリティコーディングガイドラインをご覧ください。セキュリティコードコーチ。
出典
- 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コミュニティで最も人気のあるライブラリの一つである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ヘッダー経由でこの属性を設定できないようにすることで脆弱性を緩和し、この問題を解決します。いずれかのバージョンにアップグレード後は追加手順は不要です。
開発者がより安全なコードを書けるよう支援する方法について詳しく知りたいですか?デモを予約するか、当社の無料セキュリティコーディングガイドラインをご覧ください。セキュリティコードコーチ。
出典
- 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)
