Spring Framework の脆弱性 CVE-2024-38816 が FIX:データ漏洩などが生じる恐れ

CVE-2024-38816: Spring Framework Path Traversal Vulnerability Threatens Millions

2024/09/15 SecurityOnline — 人気の Spring Framework に、深刻なセキュリティ脆弱性 CVE-2024-38816 (CVSS 7.5) が発見され、世界中の何百万もの Java アプリケーションに影響を及ぼす可能性が生じている。このパス・トラバーサルの脆弱性により、攻撃者はサーバ上の機密ファイルへの不正アクセスを達成し、データ漏洩やシステム侵害などの深刻な被害をリスクをもたらす可能性を手にする。

機能的な Web フレームワークである WebMvc.fn/WebFlux.fn を通じて提供される静的リソースを、Spring フレームワークが処理する際の方法に、この脆弱性は起因する。したがって、悪意の HTTP リクエストを作成する攻撃者は、セキュリティ対策を回避しながら、設定ファイル/ソースコード/ユーザー・データなどの任意のファイルを、サーバのファイル・システムから不正に取得できる。

具体的には、以下の両方が該当する場合に、この脆弱性の悪用が可能となる。

  • Web アプリにおいて、静的リソースの提供に RouterFunctions が使用されている。
  • リソース処理が FileSystemResource ロケーションで明示的に構成されている。

しかし、以下のいずれかに該当する場合には、悪意のリクエストはブロックされ、拒否される。

さまざまな業界やアプリで広く採用されている Spring Framework であるため、脆弱性 CVE-2024-38816 の影響は広範に及ぶものとなる。

影響を受けるバージョンである、Spring Framework (5.3.0〜5.3.39/6.0.0〜6.0.23/6.1.0〜6.1.12) を使用し、脆弱なコンポーネントを通じて静的リソースを提供している全てのアプリケーションは、悪用のリスクに直面している。

すでに Spring チームは、この脆弱性に対処するための修正版を GitHub でリリースしている。したがって、ユーザー組織が行うべきことは、Springフレームワークの最新バージョンへと、直ちにアップグレードすることである。

  • 最新バージョンへのアップグレード:最も効果的な緩和策は、修正版 5.3.40/6.0.24/6.1.13 にアップグレードすることである。
  • Spring Security の HTTP ファイアウォールを有効にする:サポートが終了してた古いバージョンでは、Spring Security の HTTP ファイアウォールを有効にすることで、追加の保護レイヤーを提供できる。
  • Tomcat または Jetty に切り替える:Web サーバを、Tomcat または Jetty に切り替えることを検討する。これらのサーバは、この脆弱性の悪用を試みる、悪意のリクエストを拒否できる。