
Springライブラリの新規脆弱性:危険にさらされているかどうかの確認方法と対処法
最近、Javaコミュニティで最も人気のあるライブラリの一つであるSpringライブラリにおいて、リモートコード実行(RCE)に関連する2つの脆弱性が公表されました。皆様が脆弱性のリスクにさらされているかどうか、またどのような対策を講じるべきかをより容易に理解できるよう、「Spring4Shell」と「Spring Cloud Function」に関する既知の詳細情報を以下に整理しました。
脆弱性 1-「Spring4Shell」 (CVE-2022-22965)
2022年3月29日、当該コミュニティは一連のツイートを発見した。そこにはSpring Core(SC)の脆弱性に対する概念実証(PoC)のスクリーンショットが含まれており、この脆弱性により、最近リリースされたバージョン5.3.17を含む、すべてのバージョンのSpring Coreコードをリモートで実行することが可能となる。
どのアプリケーションがリスクにさらされているのか?
現時点では、Tomcat上にホストされているアプリケーションのみが、この新たな脆弱性のリスクにさらされていることが確認されています。組み込みTomcatサーブレットコンテナやその他の非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 関数 (CVE-2022-22963)
2022年3月27日、Cyber KendraはSpring Cloud Functionsにおけるパッチ未適用の0日脆弱性(リモートコード実行:RCE)の詳細情報を公開した。この脆弱性はCVE-2022-22963(Spring式リソースアクセス脆弱性)として割り当てられた。
どのアプリケーションがリスクにさらされているのか?
この脆弱性は、以下の条件下にあるアプリケーションに影響を与えます:
- JDK 9 以降
- Spring Cloud Functions バージョン 3.1.6(またはそれより低いバージョン)、3.2.2(またはそれより低いバージョン)、またはサポートされていないバージョン
搾取はどのように機能するのか?
Spring Cloud Function は、開発者が spring.cloud.function.routing-expression プロパティを通じてルーティング処理方法を設定できるようにします。通常は設定ファイルやコードで行われます。これは 「Spring 表現言語」(SpEL) の強力な機能を受け入れます。この0日間の脆弱性により、このプロパティがリクエストのHTTPヘッダーを通じて設定可能であることが判明しました。これは攻撃者がSpELコードを直接自身のRoutingFunctionエンドポイントへのHTTPリクエストに埋め込み、任意のコードを実行できることを意味します。
ユーザーはリスクを軽減するためにどのような対策を講じるべきですか?
SpringFramework3.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」に関する既知の詳細を分析し、ご自身が危険にさらされているかどうか、またリスクが存在する場合の対応策を理解いただくための情報を提供します。

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を醸成するお手伝いをします。AppSecマネージャー、開発者、最高情報セキュリティ責任者(CISO)、あるいはセキュリティに関わるあらゆる方々の組織において、不安全なコードに関連するリスクの低減を支援します。
デモを予約する

最近、Javaコミュニティで最も人気のあるライブラリの一つであるSpringライブラリにおいて、リモートコード実行(RCE)に関連する2つの脆弱性が公表されました。皆様が脆弱性のリスクにさらされているかどうか、またどのような対策を講じるべきかをより容易に理解できるよう、「Spring4Shell」と「Spring Cloud Function」に関する既知の詳細情報を以下に整理しました。
脆弱性 1-「Spring4Shell」 (CVE-2022-22965)
2022年3月29日、当該コミュニティは一連のツイートを発見した。そこにはSpring Core(SC)の脆弱性に対する概念実証(PoC)のスクリーンショットが含まれており、この脆弱性により、最近リリースされたバージョン5.3.17を含む、すべてのバージョンのSpring Coreコードをリモートで実行することが可能となる。
どのアプリケーションがリスクにさらされているのか?
現時点では、Tomcat上にホストされているアプリケーションのみが、この新たな脆弱性のリスクにさらされていることが確認されています。組み込みTomcatサーブレットコンテナやその他の非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 関数 (CVE-2022-22963)
2022年3月27日、Cyber KendraはSpring Cloud Functionsにおけるパッチ未適用の0日脆弱性(リモートコード実行:RCE)の詳細情報を公開した。この脆弱性はCVE-2022-22963(Spring式リソースアクセス脆弱性)として割り当てられた。
どのアプリケーションがリスクにさらされているのか?
この脆弱性は、以下の条件下にあるアプリケーションに影響を与えます:
- JDK 9 以降
- Spring Cloud Functions バージョン 3.1.6(またはそれより低いバージョン)、3.2.2(またはそれより低いバージョン)、またはサポートされていないバージョン
搾取はどのように機能するのか?
Spring Cloud Function は、開発者が spring.cloud.function.routing-expression プロパティを通じてルーティング処理方法を設定できるようにします。通常は設定ファイルやコードで行われます。これは 「Spring 表現言語」(SpEL) の強力な機能を受け入れます。この0日間の脆弱性により、このプロパティがリクエストのHTTPヘッダーを通じて設定可能であることが判明しました。これは攻撃者がSpELコードを直接自身のRoutingFunctionエンドポイントへのHTTPリクエストに埋め込み、任意のコードを実行できることを意味します。
ユーザーはリスクを軽減するためにどのような対策を講じるべきですか?
SpringFramework3.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)の脆弱性に対する概念実証(PoC)のスクリーンショットが含まれており、この脆弱性により、最近リリースされたバージョン5.3.17を含む、すべてのバージョンのSpring Coreコードをリモートで実行することが可能となる。
どのアプリケーションがリスクにさらされているのか?
現時点では、Tomcat上にホストされているアプリケーションのみが、この新たな脆弱性のリスクにさらされていることが確認されています。組み込みTomcatサーブレットコンテナやその他の非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 関数 (CVE-2022-22963)
2022年3月27日、Cyber KendraはSpring Cloud Functionsにおけるパッチ未適用の0日脆弱性(リモートコード実行:RCE)の詳細情報を公開した。この脆弱性はCVE-2022-22963(Spring式リソースアクセス脆弱性)として割り当てられた。
どのアプリケーションがリスクにさらされているのか?
この脆弱性は、以下の条件下にあるアプリケーションに影響を与えます:
- JDK 9 以降
- Spring Cloud Functions バージョン 3.1.6(またはそれより低いバージョン)、3.2.2(またはそれより低いバージョン)、またはサポートされていないバージョン
搾取はどのように機能するのか?
Spring Cloud Function は、開発者が spring.cloud.function.routing-expression プロパティを通じてルーティング処理方法を設定できるようにします。通常は設定ファイルやコードで行われます。これは 「Spring 表現言語」(SpEL) の強力な機能を受け入れます。この0日間の脆弱性により、このプロパティがリクエストのHTTPヘッダーを通じて設定可能であることが判明しました。これは攻撃者がSpELコードを直接自身のRoutingFunctionエンドポイントへのHTTPリクエストに埋め込み、任意のコードを実行できることを意味します。
ユーザーはリスクを軽減するためにどのような対策を講じるべきですか?
SpringFramework3.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)の脆弱性に対する概念実証(PoC)のスクリーンショットが含まれており、この脆弱性により、最近リリースされたバージョン5.3.17を含む、すべてのバージョンのSpring Coreコードをリモートで実行することが可能となる。
どのアプリケーションがリスクにさらされているのか?
現時点では、Tomcat上にホストされているアプリケーションのみが、この新たな脆弱性のリスクにさらされていることが確認されています。組み込みTomcatサーブレットコンテナやその他の非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 関数 (CVE-2022-22963)
2022年3月27日、Cyber KendraはSpring Cloud Functionsにおけるパッチ未適用の0日脆弱性(リモートコード実行:RCE)の詳細情報を公開した。この脆弱性はCVE-2022-22963(Spring式リソースアクセス脆弱性)として割り当てられた。
どのアプリケーションがリスクにさらされているのか?
この脆弱性は、以下の条件下にあるアプリケーションに影響を与えます:
- JDK 9 以降
- Spring Cloud Functions バージョン 3.1.6(またはそれより低いバージョン)、3.2.2(またはそれより低いバージョン)、またはサポートされていないバージョン
搾取はどのように機能するのか?
Spring Cloud Function は、開発者が spring.cloud.function.routing-expression プロパティを通じてルーティング処理方法を設定できるようにします。通常は設定ファイルやコードで行われます。これは 「Spring 表現言語」(SpEL) の強力な機能を受け入れます。この0日間の脆弱性により、このプロパティがリクエストのHTTPヘッダーを通じて設定可能であることが判明しました。これは攻撃者がSpELコードを直接自身のRoutingFunctionエンドポイントへのHTTPリクエストに埋め込み、任意のコードを実行できることを意味します。
ユーザーはリスクを軽減するためにどのような対策を講じるべきですか?
SpringFramework3.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)
