CVE-2026-6477
PostgreSQL libpq lo_* functions let server superuser overwrite client stack memory
Published:
5/14/2026
Last updated:
5/15/2026
Reserved:
4/17/2026
Use of inherently dangerous function PQfn(..., result_is_int=0, ...) in PostgreSQL libpq lo_export(), lo_read(), lo_lseek64(), and lo_tell64() functions allows the server superuser to overwrite a client stack buffer with an arbitrarily-large response. Like gets(), PQfn(..., result_is_int=0, ...) stores arbitrary-length, server-determined data into a buffer of unspecified size. Because both the \lo_export command in psql and pg_dump call lo_read(), the server superuser can overwrite pg_dump or psql stack memory. Versions before PostgreSQL 18.4, 17.10, 16.14, 15.18, and 14.23 are affected.
CNA assigner:
PostgreSQL (f86ef6dc-4d3a-42ad-8f28-e6d5547a5007)
Requested by:
n/a
Products affected (2)
| Product |
Vendor |
Version |
| PostgreSQL |
n/a
|
n/a
|
| PostgreSQL |
n/a
|
n/a
|
Credits (2)
-
The PostgreSQL project thanks Yu Kunpeng and Martin Heistermann for reporting this problem.
-
The PostgreSQL project thanks Yu Kunpeng and Martin Heistermann for reporting this problem.