Improper neutralization of quoting syntax in PostgreSQL libpq
functions PQescapeLiteral()
, PQescapeIdentifier()
, PQescapeString()
, and
PQescapeStringConn()
allows a database input provider to achieve SQL
injection in certain usage patterns. Specifically, SQL injection requires the
application to use the function result to construct input to psql, the
PostgreSQL interactive terminal. Similarly, improper neutralization of quoting
syntax in PostgreSQL command line utility programs allows a source of command
line arguments to achieve SQL injection when client_encoding
is BIG5
and
server_encoding
is one of EUC_TW
or MULE_INTERNAL
. Versions before PostgreSQL 17.3, 16.7,
15.11, 14.16, and 13.19 are affected.
The PostgreSQL project thanks Stephen Fewer, Principal Security Researcher, Rapid7 for reporting this problem.
Affected Version | Fixed In | Fix Published |
---|---|---|
17 | 17.3 | Feb. 13, 2025 |
16 | 16.7 | Feb. 13, 2025 |
15 | 15.11 | Feb. 13, 2025 |
14 | 14.16 | Feb. 13, 2025 |
13 | 13.19 | Feb. 13, 2025 |
For more information about PostgreSQL versioning, please visit the versioning page.
Overall Score | 8.1 |
---|---|
Component | client |
Vector | AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
If you wish to report a new security vulnerability in PostgreSQL, please send an email to security@postgresql.org.
For reporting non-security bugs, please see the Report a Bug page.