Description
PyAthena prior to 3.35.4 contains a sql injection vulnerability that allows unauthenticated attackers to inject arbitrary SQL by exploiting improper quote-escaping in DefaultParameterFormatter.format(), which routes DELETE and CTAS statements to the _escape_hive function that backslash-escapes single quotes rather than doubling them. Because Athena and Trino do not treat backslashes as escape characters inside string literals, attacker-supplied input such as a single quote followed by SQL syntax causes the parser to terminate the string literal prematurely, enabling data exfiltration via UNION SELECT, execution of destructive statements, and attacker-controlled CTAS destination and content.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
laughingman7743 PyAthena
Default version status: affected
0 to ≤ 3.35.3affected3.35.4unaffected
References
- https://github.com/laughingman7743/PyAthena ↗
- https://github.com/laughingman7743/PyAthena/security/advisories/GHSA-xwj5-g6cv-4r5c ↗
- https://github.com/pyathena-dev/PyAthena/commit/27901d12245ea722b3b4e211c60e2ade4e7c8efd ↗
- https://www.vulncheck.com/advisories/pyathena-sql-injection-via-defaultparameterformatter-delete-ctas ↗
- https://rahulkarne.com/#/cve/CVE-2026-65321 ↗
- https://github.com/rahulreddykarne/CVE-2026-65321-pyathena ↗