Vulnerability Information
Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.
Vulnerability Title
ProxySQL MCP run_sql_readonly executes side-effecting MySQL multi-statements despite read-only contract
Vulnerability Description
ProxySQL is a proxy for MySQL and its forks, as well as PostgreSQL. In versions 3.0.0 through 3.0.8, ProxySQL's GenAI/MCP `run_sql_readonly` tool violates its documented read-only contract for MySQL targets. The tool validates only the full input string with a substring blacklist and first-keyword allowlist, but then executes the entire SQL string on a backend connection created with `CLIENT_MULTI_STATEMENTS`. As a result, a caller can submit a read-only first statement followed by a side-effecting second statement, such as `SELECT 1; RENAME TABLE ...`. The validator accepts the payload because it starts with `SELECT` and because side-effecting MySQL statements such as `RENAME TABLE`, `SET`, `RESET`, `LOCK TABLES`, and `KILL` are not rejected by the blacklist. In a live MCP runtime test, the `/mcp/query` endpoint accepted a `run_sql_readonly` request. The MCP response reported success for the first `SELECT`, and direct backend verification showed that the table had actually been renamed. This violates the endpoint's read-only security contract and lets an MCP caller perform backend writes or administrative SQL, limited by the configured MCP target account's database privileges. Version 3.0.9 contains a fix. Other operator mitigations include: keeping MCP disabled unless required; setting a non-empty `mcp-query_endpoint_auth` token before exposing `/mcp/query`; restricting MCP listener network exposure; configuring MCP backend target credentials as database-level read-only users; and adding temporary MCP query rules to block obvious multi-statement patterns.
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Vulnerability Type
输入验证不恰当
Vulnerability Title
ProxySQL 输入验证错误漏洞
Vulnerability Description
ProxySQL ProxySQL是ProxySQL组织开源的一个面向MySQL、PostgreSQL及其生态系统的领先数据库代理,支持高性能连接管理、高可用故障转移和实时查询分析。 ProxySQL 3.0.6至3.0.8版本存在输入验证错误漏洞,该漏洞源于输入验证不当,GenAI/MCP `run_sql_readonly`工具只验证完整输入字符串的字典黑名单和首关键字白名单,但随后使用`CLIENT_MULTI_STATEMENTS`创建的后端连接执行整个SQL字符串,允许调用者提交只读第一语句后跟
CVSS Information
N/A
Vulnerability Type
N/A