Spring Security の脆弱性 CVE-2024-22257 が FIX:機密システムへの不正アクセスが生じる恐れ

CVE-2024-22257: Spring Security Flaw Opens Door to Broken Access Control Attacks

20224/03/18 SecurityOnline — Java ベースのアプリケーション保護に広く使われているフレームワーク Spring Security に、深刻な脆弱性が発見された。この脆弱性は CVE-2024-22257 (深刻度 “High”) の悪用に成功した攻撃者は、認証をバイパスして機密システムに不正アクセスすることが可能になるという。

Spring Security とは

Spring Security は、開発者たちに支持されている強力なフレームワークの一つだ。Java アプリケーション内で堅牢な認証と認可のメカニズムを構築する、重要なコンポーネントであり、数多くの Web アプリケーション/サービスを保護している。

脆弱性の詳細

この脆弱性 CVE-2024-22257 は、先日に発見されたものであり、Spring Security の AuthenticatedVoter コンポーネントがダイレクトに使われる際の、認証チェックの不適切な処理方法に起因するものだ。アプリケーションが AuthenticatedVoter#vote に NULL 値を渡すと、不正なアクセスが許可されてしまい、そのシステムには潜在的な攻撃にさらされる可能性が生じる。

この脆弱性がおよぼす影響とは

アクセス制御を破壊する脆弱性は、攻撃者にとって格好の標的となる。アクセス制御システムは、機密データやリソースの門番であるため、それが侵害されると、データの盗難/システムの侵害/重要な業務の中断などの可能性が生じる。

脆弱なバージョン

この脆弱性の影響を受けるのは、以下の Spring Security のバージョンを実行しているアプリケーションとなる:

  • 6.2.0〜6.2.2
  • 6.1.0〜6.1.7
  • 6.0.0〜6.0.9
  • 5.8.0〜5.8.10
  • 5.7.0〜5.7.11
  • サポート対象外の古いバージョン
緩和策として行うべきことは?

この脆弱性の緩和策として Spring が推奨するのは、Spring Security の最新のパッチ適用済みバージョンへとアップグレードすることだ:

  • 5.7.12
  • 5.8.11
  • 6.0.10
  • 6.1.8
  • 6.2.3

このパッチは、当面の問題を緩和するものだ。しかし Spring チームは、開発者たちに対して、AuthenticatedVoter コンポーネントの使用を停止するよう勧告している。このコンポーネントは非推奨とされており、認証チェックのために、このコンポーネントに依存しているアプリケーションはリスクが高まるという。Spring Security が提供する、より新しい認証管理メカニズムへの移行を検討してほしい。