CVE-2024-27304
Description
pgx is a PostgreSQL driver and toolkit for Go. 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. The problem is resolved in v4.18.2 and v5.5.4. As a workaround, reject user input large enough to cause a single query or bind message to exceed 4 GB in size.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
Vendor advisory: debian — https://security-tracker.debian.org/tracker/CVE-2024-27304
Vendor advisory: security-advisories@github.com — https://github.com/jackc/pgx/security/advisories/GHSA-mrww-27vc-gghv
Vendor advisory: security-advisories@github.com — https://github.com/jackc/pgx/commit/f94eb0e2f96782042c96801b5ac448f44f0a81df
Vendor advisory: security-advisories@github.com — https://github.com/jackc/pgx/commit/c543134753a0c5d22881c12404025724cb05ffd8
Vendor advisory: security-advisories@github.com — https://github.com/jackc/pgx/commit/adbb38f298c76e283ffc7c7a3f571036fea47fd4
Vendor advisory: security-advisories@github.com — https://github.com/jackc/pgproto3/security/advisories/GHSA-7jwh-3vrq-q3m8
Vendor advisory: security-advisories@github.com — https://github.com/jackc/pgproto3/commit/945c2126f6db8f3bea7eeebe307c01fe92bca007
OS impact
| OS | Version | Status | Fixed in |
|---|---|---|---|
| debian | bookworm | affected | |
| debian | forky | fixed | 1.14.3-1 |
| debian | sid | fixed | 1.14.3-1 |
| debian | trixie | fixed | 4.18.1-2 |
| debian | bullseye | affected | |
Package impact
| Ecosystem | Package | Vulnerable | Fixed |
|---|---|---|---|
| Go | github.com/jackc/pgproto3 | <2.3.3 | 2.3.3 |
| Go | github.com/jackc/pgproto3/v2 | <2.3.3 | 2.3.3 |
| 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 |
| Go | github.com/jackc/pgx | | |
References
- https://github.com/jackc/pgproto3/commit/945c2126f6db8f3bea7eeebe307c01fe92bca007
- https://github.com/jackc/pgproto3/security/advisories/GHSA-7jwh-3vrq-q3m8
- 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/security/advisories/GHSA-mrww-27vc-gghv
- https://www.youtube.com/watch?v=Tfg1B8u1yvE
- https://nvd.nist.gov/vuln/detail/CVE-2024-27304
- https://github.com/jackc/pgproto3
- https://github.com/jackc/pgx
- https://security-tracker.debian.org/tracker/CVE-2024-27304
CWEs
CWE-89 CWE-190
Verify integrity in audit chain (admin only). AS-IS.