CVE-2026-41889
criticalpriority · track · 39EPSS 0.004 · 29 %ileEUFRUSEPSS · scored 2026-10-27
pgx is a PostgreSQL driver and toolkit for Go. Prior to version 5.9.2, 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, and the value of that placeholder is controllable by the attacker. This issue has been patched in version 5.9.2.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · low–critical · 0.6–9.8
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (7)
Products and version ranges known to be affected.
advisories (3)
Vendor and ecosystem advisories describing this.
- GHSA-j88v-2chj-qfwxpgx: SQL Injection via placeholder confusion with dollar quoted string literals2026-04-22ghsa · osvUS
### Impact SQL Injection can occur when: 1. The non-default simple protocol is used. 2. A dollar quoted string literal is used in the SQL query. 3. That string literal contains text that would be would be interpreted as a placeholder outside of a string literal. 4. The value of that placeholder is controllable by the attacker. e.g. ```go 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.
- CERTFR-2026-AVI-1385Multiples vulnérabilités dans les produits VMwareFrançais2026-10-26vendor · certfrFR
- GO-2026-5004SQL Injection via placeholder confusion with dollar quoted string literals in github.com/jackc/pgx2026-06-22vendor · osvUS
SQL Injection can occur when using the non-default simple protocol with a dollar quoted string literal in the SQL query. If that string literal contains text that would be interpreted as a placeholder outside of a string literal, and the value of that placeholder is controllable by the attacker, an injection may be possible. For example, an attacker could provide a value that includes a closing dollar quote followed by malicious SQL commands. This is unlikely to occur outside of a contrived scenario.
also known as (4)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (8)
External citations — patches, advisories, analysis.
- https://github.com/jackc/pgx/tagsPatchcnnvd
- https://nvd.nist.gov/vuln/detail/CVE-2026-41889cnnvd
- https://github.com/jackc/pgx/commit/60644f84918a8af66d14a4b0d865d4edafd955daenisa_euvd
- https://github.com/jackc/pgx/releases/tag/v5.9.2enisa_euvd
- https://github.com/jackc/pgx/security/advisories/GHSA-j88v-2chj-qfwxenisa_euvd
- https://github.com/jackc/pgx/commit/60644f84918a8af66d14a4b0d865d4edafd955daPatchnvd
- https://github.com/jackc/pgx/releases/tag/v5.9.2Release Notesnvd
- https://github.com/jackc/pgx/security/advisories/GHSA-j88v-2chj-qfwxMitigationVendor Advisorynvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan