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.
oryginał ENCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:HPostgreSQL
APPPostgresql< 14.2315.0 – 15.18 (bez)16.0 – 16.14 (bez)17.0 – 17.10 (bez)18.0 – 18.4 (bez)
Powiązane podatności
SQL injection w PostgreSQL przez błąd synchronizacji protokołu
PostgreSQL: błąd obsługi błędów systemowych w implementacji snprintf
PostgreSQL Windows Installer — wykonanie kodu z niezabezpieczonego katalogu (OpenSSL)
SQL injection w PostgreSQL via CREATE TRIGGER — wykonanie kodu z uprawnieniami superusera
PostgreSQL adminpack: brak kontroli ACL w funkcji pg_logfile_rotate()