技術的な説明
Mem0 self-hosted server (バージョン 0.2.8 以前、コミット ae7f406 で修正) の POST /configure エンドポイントは、グローバル LLM プロバイダーおよびエンベッダー設定 (すべてのメモリ操作に使用する AI プロバイダーおよびモデルなど) を変更するものですが、JWT または X-API-Key を介して認証を検証する一方で、呼び出し元が管理スコープを持つかどうかは検証しません。したがって、認証された低権限ユーザーであれば誰でもグローバル LLM またはエンベッダー設定を上書きでき、すべての将来のメモリ操作を攻撃者が管理するモデルエンドポイントまたはエンベッディングプロバイダーにリダイレクトしたり、データ流出やエージェントメモリコンテキストの操作を可能にしたりする可能性があります。
攻撃経路
認証された攻撃者 (任意の API キー保持者) は、攻撃者が管理する LLM プロバイダー設定を含む POST を /configure に送信します。その後、Mem0 サーバーを通じたすべてのメモリ書き込みおよび読み取りが攻撃者のエンドポイントを使用し、保存されたエージェントメモリを公開し、将来のエージェント推論を潜在的に破損させます。
影響を受けるシステム
Mem0 self-hosted server ≤0.2.8。Mem0 は LLM エージェントの長期メモリレイヤーとして広く使用されており、その設定の侵害は、永続的なコンテキストのために Mem0 に依存するすべてのエージェントに影響を与えます。
緩和策
Mem0 をコミット ae7f406 以降にアップグレードしてください (修正により /configure にロールベースの認可が追加されます)。API キーの発行を信頼できるプリンシパルに制限し、Mem0 API キーを保持している人を監査し、/configure アクセスを管理者ホストのみに制限するネットワークレベルの制御を追加してください。