事件经过
CVE-2026-87911(CVSS 9.6,关键)是 Amazon awslabs postgres-mcp-server 1.1.7 之前版本的 SQL 验证组件的只读强制中的 OS 命令注入弱点。验证层未能阻止精心设计的 PostgreSQL COPY ... TO PROGRAM 语句,该语句 PostgreSQL 将其作为 OS 级命令执行,允许未经身份验证的参与者在尽管 MCP 服务器以只读模式配置的情况下,在自管理 PostgreSQL 服务器的主机上执行任意操作系统命令。
影响分析
MCP 服务器是 LLM 代理和后端系统之间的标准工具调用桥梁;应该强制实施只读访问但反而允许 OS 命令执行的数据库 MCP 服务器完全破坏了代理操作员依赖的安全边界,以安全地将数据库暴露给 LLM 代理。任何通过此 MCP 服务器向 LLM 授予"只读"数据库访问的代理架构实际上都暴露于 PostgreSQL 服务器上的完全主机破坏。
攻击途径
参与者(可能是通过提示注入强制的 LLM 代理,或 MCP 工具接口的任何用户)使用 PostgreSQL 的 COPY ... TO PROGRAM 语法提交精心设计的 SQL 语句;只读 SQL 验证程序无法识别这是一个可变/OS 执行操作,允许在 PostgreSQL 主机上执行任意命令。
受影响系统
Amazon awslabs postgres-mcp-server 1.1.7 之前
缓解措施
升级到 postgres-mcp-server 1.1.7 或更高版本。AWS 另外建议在专用、最小权限 PostgreSQL 角色下运行 MCP 服务器作为深度防御。