何が起きたか
CVE-2026-59294: Spring AI の ResourceCacheService.getCacheName() は、URI フラグメントをキャッシュファイル名に逐語的に追加し、パス区切り文字や '..' シーケンスをストリップしないまま File コンストラクタに渡すため、パストラバーサルを介した任意のファイル書き込みが可能です。CVE-2026-59319: RedisChatMemoryRepository.findByMetadata() は、呼び出し元が提供したメタデータから RediSearch タグ/テキストクエリを構築する際に、同じクラス内の兄弟メソッドとは異なり RediSearchUtil.escape() を適用しないため、ユーザー制御のメタデータ値からのクエリインジェクションが可能です。
なぜ重要か
これらにより、攻撃者は Spring AI リソースキャッシュを実行しているホストに任意のファイルを書き込むことができ(ファイルプラント経由の潜在的な RCE)、または RediSearch クエリをインジェクションして Spring AI の Redis バックアップメモリストア内の会話/テナント間でチャットメモリを暴露または操作することができます。
攻撃経路
キャッシュファイルパスに書き込まれた細工された URI フラグメント、またはユーザー制御のメタデータ値が RediSearch タグ/テキストクエリにインジェクションされた場合
影響を受けるシステム
Spring AI 1.0.0-1.0.9、1.1.0-1.1.8、2.0.0
緩和策
Spring AI 2.0.1 以降にアップグレードしてください