何が起きたか
@langchain/redisは、構造化RediSearch TAGおよびTEXTフィルターで攻撃者が制御する値をエスケープしません(CWE-943)。これにより、注入されたRediSearch構文が生成された検索クエリを変更または拡大できます。そのようなフィルターがテナント/ドキュメントアクセス境界として機能する場合、変更されたクエリは意図されたスコープ外のインデックス化されたドキュメントを公開できます。1.1.1で修正されました。
なぜ重要か
Redisベクター/構造化検索は、RAGメモリとアクセススコープ付き取得に使用されます。クエリインジェクションにより、意図されたドキュメント境界を超えて取得範囲が広がる可能性があります。
攻撃経路
TAG/TEXTフィルター値にRediSearch演算子を注入して、生成されたクエリを意図されたドキュメントスコープを超えて拡大します。
影響を受けるシステム
@langchain/redis < 1.1.1 (langchainjs < 1.1.1)
緩和策
@langchain/redis 1.1.1にアップグレードしてください。フィルター値を不透明として扱い、それに応じてエスケープしてください。