何が起きたか
Tabularis SQLiteドライバーは、サニタイズされていないtable_nameを補間してPRAGMAステートメントを構築するため、MCPクライアントがスタックされたSQLステートメントを注入可能です(CWE-89、CVSS 7.8)。これはプロンプトインジェクションに到達可能なインジェクションであり、信頼されていないコンテンツがエージェントのツール呼び出しを駆動して、保存されたデータを変更または流出させます。
なぜ重要か
これはMCPツールインジェクションクラスの具体的な例です。信頼されていないコンテンツがエージェントのツールパラメータを操作することで、読み取り専用のdescribe呼び出しから、エージェントのSQLite状態の完全な読み取り/変更/削除にエスカレートし、意図されたガードレールをバイパスできます。
攻撃経路
MCPクライアント、または信頼されていないコンテンツによって操作されるAIエージェントが、describe_tableツールに細工されたtable_nameを提供します。引用符で囲まれたPRAGMA引数を閉じてスタックされたステートメントを追加し、SQLiteデータを読み取り、変更、または削除して、読み取り専用モードと書き込み承認をバイパスできます。
影響を受けるシステム
Tabularis < 0.28.0(SQLiteドライバーMCPサーフェス)
緩和策
Tabularis 0.28.0(GHSA-xrx3-j98v-67x9)にアップグレードし、PRAGMA/table_name入力をパラメータ化してください。