Use of inherently dangerous function PQfn(...,...
High severity
Unreviewed
Published
May 14, 2026
to the GitHub Advisory Database
•
Updated Aug 25, 2026
Description
Published by the National Vulnerability Database
May 14, 2026
Published to the GitHub Advisory Database
May 14, 2026
Last updated
Aug 25, 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.
References