なぜ重要か
LangGraph チェックポイントには完全なエージェント状態が保持されます — 会話履歴、中間推論、ツール出力。LangGraph+MongoDB 上に構築されたマルチテナント SaaS では、これにより認証された 1 つのテナントが別のテナントのエージェント セッション データを読み取ることができます。広く使用されているエージェント オーケストレーション スタックの直接的なクロスカスタマー データ リークです。
攻撃経路
MongoDBSaver.list()/alist() および MongoDBStore.search() は、$ で始まるキーを再帰的に拒否することなく、フィルター辞書を MongoDB クエリに組み込みます。フィルター引数を制御する認証済みの呼び出し元 (HTTP params、リクエスト本文、またはエージェント ツール引数経由) は、$regex/$where などのオペレーターを注入して、テナント分離の同等フィルターをバイパスし、他のテナントの LangGraph チェックポイント/ストア データを読み取ることができます。
影響を受けるシステム
langgraph-checkpoint-mongodb < 0.3.0; langgraph-store-mongodb < 0.4.0
緩和策
langgraph-checkpoint-mongodb 0.3.0 および langgraph-store-mongodb 0.4.0 にアップグレードしてください。