CVE-2026-41889
Impact
SQL Injection can occur when:
- The non-default simple protocol is used.
- A dollar quoted string literal is used in the SQL query.
- That string literal contains text that would be would be interpreted as a placeholder outside of a string literal.
- The value of that placeholder is controllable by the attacker.
e.g.
attackValue := `$tag$; drop table canary; --`
_, err = tx.Exec(ctx, `select $tag$ $1 $tag$, $1`, pgx.QueryExecModeSimpleProtocol, attackValue)This is unlikely to occur outside of a contrived scenario.
Patches
The problem is resolved in v5.9.2.
Workarounds
Do not use the simple protocol to execute queries matching all the above conditions.
Package Versions Affected
Automatically patch vulnerabilities without upgrading
CVSS Version



Related Resources
References
https://github.com/jackc/pgx/security/advisories/GHSA-j88v-2chj-qfwx, https://nvd.nist.gov/vuln/detail/CVE-2026-41889, https://github.com/jackc/pgx/commit/60644f84918a8af66d14a4b0d865d4edafd955da, https://github.com/jackc/pgx, https://github.com/jackc/pgx/releases/tag/v5.9.2
