Reference page — cumulative record through Wednesday, August 19, 2026 UTC. Reference pages update as the archive grows; only dated daily editions are immutable pages of record.
sysown proxysql — ProxySQL MCP run_sql_readonly executes side-effecting MySQL multi-statements despite read-only contract
AV AC PR UI S C I A CVSS EPSS %ile KEV
N L N N U N H N 7.5 .0027 19.8 —
AFFECTED
Product Versions Fixed
proxysql >= 3.0.6, < 3.0.9 – —
TIMELINE
May 22 Reserved by GitHub_M
Jun 19 EXPLOIT PUBLISHED — CVE-2026-48774 (sysown proxysql). Public exploit reference added.
Jun 19 Published (CNA: GitHub_M)
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.
Lifecycle
Complete event history — 3 events, chronological
| Date | Event | Detail |
| May 22, 2026 | Reserved | Reserved by GitHub_M |
| June 19, 2026 | EXPLOIT PUBLISHED | EXPLOIT PUBLISHED — CVE-2026-48774 (sysown proxysql). Public exploit reference added. |
| June 19, 2026 | Published | Published (CNA: GitHub_M) |
Affected
Affected products and packages — 1 row
| Vendor | Product / Package | Ecosystem | Version introduced | Fixed |
| sysown | proxysql | — | >= 3.0.6, < 3.0.9 | — |
About this page
This is a reference page, not a dated page of record. It assembles the complete lifecycle of CVE-2026-48774 from the CVE Program record, NVD enrichment, the CISA KEV catalog, EPSS, and OSV advisories. The box score's numbers (CVSS, EPSS, KEV status) are current as of Wednesday, August 19, 2026 UTC and are re-derived as the archive grows; only dated daily editions are immutable pages of record. The authoritative source for this identifier is cve.org.