CVE-2026-102664
ProxySQL is a proxy for MySQL and its forks, as well as PostgreSQL
- Risk score
- 53/100
- CVSS
- 7.1 v3.1
- Published
- 4 Nov 2026
Open in the live forecast Today's forecast
What to know
- What it is
- ProxySQL is a proxy for MySQL and its forks, as well as PostgreSQL. Prior to 3.0.10, 3.1.10, and 4.0.10, decompress_mysql_payload() in lib/mysql_data_stream.cpp accepts a zlib stream when uncompress() returns Z_OK without checking that the actual output length equals the attacker-controlled payload_length. An authenti…
- Affected
- See advisory
- Fix
- Upgrade the product to 3.0.10, 3.1.10 or 4.0.10 (whichever matches your release line), or later.
- Exploitation
- No known exploitation
Why it is Yellow
- CVSS 7.1 high
- On your watchlist: postgresql
References
- https://github.com/sysown/proxysql/commit/396c742f7d50b1f479e1157e296ee9d0aff1b724
- https://github.com/sysown/proxysql/commit/a8c1cef4d44c4beea7f6aa21b8a09a7cb8c75520
- https://github.com/sysown/proxysql/releases/tag/v3.0.10
- https://github.com/sysown/proxysql/releases/tag/v3.1.10
- https://github.com/sysown/proxysql/releases/tag/v4.0.10
- https://github.com/sysown/proxysql/security/advisories/GHSA-fvch-fpgq-pwfx
Original description
ProxySQL is a proxy for MySQL and its forks, as well as PostgreSQL. Prior to 3.0.10, 3.1.10, and 4.0.10, decompress_mysql_payload() in lib/mysql_data_stream.cpp accepts a zlib stream when uncompress() returns Z_OK without checking that the actual output length equals the attacker-controlled payload_length. An authenticated MySQL client that negotiates compression can overstate payload_length, causing buffer2array() to parse the uninitialized tail of a heap buffer as MySQL packet headers and forward stale data to the backend. Backend error responses can disclose prior SQL queries, result data, credentials, or session state, and malformed lengths can also cause excessive allocations. This issue is fixed in versions 3.0.10, 3.1.10, and 4.0.10.
Last activity 4 Nov 2026. Patch Forecast updates every hour.