Skip to main content
← All vulnerabilities
CVE-2026-6477

PostgreSQL libpq lo_* functions let server superuser overwrite client stack memory

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 18.4, 17.10, 16.14, 15.18, 14.23
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  2. CVE published
  3. Record last updated

Affected versions

  • n/a PostgreSQL

    From 18 · fixed in 18.4; From 17 · fixed in 17.10; From 16 · fixed in 16.14; From 15 · fixed in 15.18; fixed in 14.23

References 1

postgresql.org