事件经过
在1.1.0之前,read_only连接上的query_database工具可通过pgx Exec传递未识别的语句而不使用绑定参数,这会选择简单查询协议(多语句)并绕过防止数据修改的只读强制措施。
影响分析
在AI/RAG部署中,MCP服务器是代理工作流写入数据库的路径。此绕过使代理(或引导它的间接提示注入)尽管故意配置了只读数据库角色,仍能执行写入。
攻击途径
read_only连接上的query_database可通过pgx Exec发送未识别的语句而不使用绑定参数,选择PostgreSQL的简单查询协议并绕过只读强制措施。
受影响系统
pgedge-postgres-mcp < 1.1.0
缓解措施
升级到pgedge-postgres-mcp 1.1.0。使用最小权限数据库角色;监控MCP连接的意外写入。