Description
pgx is a PostgreSQL driver and toolkit for Go. Prior to version 4.18.2, SQL injection can occur when all of the following conditions are met: the non-default simple protocol is used; a placeholder for a numeric value must be immediately preceded by a minus; there must be a second placeholder for a string value after the first placeholder; both must be on the same line; and both parameter values must be user-controlled. The problem is resolved in v4.18.2. As a workaround, do not use the simple protocol or do not place a minus directly before a placeholder.
References (3)
Core 3
Core References
Third Party Advisory
https://www.sonarsource.com/blog/double-dash-double-trouble-a-subtle-sql-injection-flaw/
Vendor Advisory x_refsource_confirm
https://github.com/jackc/pgx/security/advisories/GHSA-m7wr-2xf7-cm9p
Patch x_refsource_misc
https://github.com/jackc/pgx/commit/f94eb0e2f96782042c96801b5ac448f44f0a81df
Scores
CVSS v3
8.1
EPSS
0.0059
EPSS Percentile
69.3%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CISA SSVC
Vulnrichment
Exploitation
poc
Automatable
no
Technical Impact
total
Details
CWE
CWE-89
Status
published
Products (2)
jackc/pgx
0 - 4.18.2 (2 CPE variants)Go
pgx_project/pgx
< 4.18.2
Published
Mar 06, 2024
Tracked Since
Feb 18, 2026