CVE-2026-6477
PostgreSQL libpq lo_* functions let server superuser overwrite client stack memory
Description
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.
How to fix CVE-2026-6477
To remediate CVE-2026-6477, upgrade the affected package to a fixed version below.
- —upgrade to 15.18-r0 or later
- —upgrade to 16.14-r0 or later
- —upgrade to 17.10-r0 or later
- —upgrade to 18.4-r0 or later
- —upgrade to 14.23.0 or later
- —no fix listed
- —upgrade to 15.18-0+deb12u1 or later
- —upgrade to 17.10-0+deb13u1 or later
- —upgrade to 18.4-1 or later
Is CVE-2026-6477 being exploited?
Low — EPSS is 0.0%, meaning exploitation activity has not been observed at scale.
Affected packages (9)
- from 0, < 15.18-r0
- from 0, < 16.14-r0
- from 0, < 17.10-r0
- from 0, < 18.4-r0
- from 0, < 14.23.0, >= 15.0.0, < 15.18.0, >= 16.0.0, < 16.14.0, >= 17.0.0, < 17.10.0, >= 18.0.0, < 18.4.0
- from 0
- from 0, < 15.18-0+deb12u1
- from 0, < 17.10-0+deb13u1
- from 0, < 18.4-1
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | HIGH8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |