事件经过
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 输入进行参数化处理。