GHSA-mrww-27vc-gghv
pgx SQL Injection via Protocol Message Size Overflow
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/jackc/pgx | < 4.18.2 | 4.18.2 |
| Go | github.com/jackc/pgx | >= 5.0.0, < 5.5.4 | 5.5.4 |
| Go | github.com/jackc/pgx/v4 | < 4.18.2 | 4.18.2 |
| Go | github.com/jackc/pgx/v5 | >= 5.0.0, < 5.5.4 | 5.5.4 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Impact
SQL injection can occur if an attacker can cause a single query or bind message to exceed 4 GB in size. An integer overflow in the calculated message size can cause the one large message to be sent as multiple messages under the attacker's control.
### Patches
The problem is resolved in v4.18.2 and v5.5.4.
### Workarounds
Reject user input large enough to cause a single query or bind message to exceed 4 GB in size.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/jackc/pgproto3/security/advisories/GHSA-7jwh-3vrq-q3m8
- https://github.com/jackc/pgx/security/advisories/GHSA-mrww-27vc-gghv
- https://nvd.nist.gov/vuln/detail/CVE-2024-27304
- https://github.com/jackc/pgproto3/commit/945c2126f6db8f3bea7eeebe307c01fe92bca007
- https://github.com/jackc/pgx/commit/adbb38f298c76e283ffc7c7a3f571036fea47fd4
- https://github.com/jackc/pgx/commit/c543134753a0c5d22881c12404025724cb05ffd8
- https://github.com/jackc/pgx/commit/f94eb0e2f96782042c96801b5ac448f44f0a81df
- https://github.com/jackc/pgx
- https://www.youtube.com/watch?v=Tfg1B8u1yvE