#VU87833 SQL injection in PostgreSQL driver and toolkit for Go


Published: 2024-03-26

Vulnerability identifier: #VU87833

Vulnerability risk: Medium

CVSSv3.1: 4.2 [CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N/E:U/RL:O/RC:C]

CVE-ID: CVE-2024-27289

CWE-ID: CWE-89

Exploitation vector: Network

Exploit availability: No

Vulnerable software:
PostgreSQL driver and toolkit for Go
Universal components / Libraries / Programming Languages & Components

Vendor: Jack Christensen

Description

The vulnerability allows a remote attacker to execute arbitrary SQL queries in database.

The vulnerability exists due to insufficient sanitization of user-supplied data under certain conditions. A remote attacker can send a specially crafted request to the affected application and execute arbitrary SQL commands within the application database.

Successful exploitation of this vulnerability requires that 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.

Mitigation
Install update from vendor's website.

Vulnerable software versions

PostgreSQL driver and toolkit for Go: 4.0.0 - 4.18.1


External links
http://github.com/jackc/pgx/security/advisories/GHSA-m7wr-2xf7-cm9p
http://github.com/jackc/pgx/commit/f94eb0e2f96782042c96801b5ac448f44f0a81df


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.


Latest bulletins with this vulnerability