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.

Project Subscriptions

Vendors Products
Postgresql Subscribe
Postgresql Subscribe
Advisories
Source ID Title
Debian DLA Debian DLA DLA-4646-1 postgresql-13 security update
Debian DSA Debian DSA DSA-6269-1 postgresql-15 security update
Debian DSA Debian DSA DSA-6270-1 postgresql-17 security update
Ubuntu USN Ubuntu USN USN-8294-1 PostgreSQL vulnerabilities
Fixes

Solution

No solution given by the vendor.


Workaround

use PQexecPrepared(), not PQfn(..., result_is_int=0, ...) or its lo_* wrappers

References
Link Providers
https://access.redhat.com/errata/RHSA-2026:21182 cve-icon
https://access.redhat.com/errata/RHSA-2026:22878 cve-icon
https://access.redhat.com/errata/RHSA-2026:26181 cve-icon
https://access.redhat.com/errata/RHSA-2026:26203 cve-icon
https://access.redhat.com/errata/RHSA-2026:26204 cve-icon
https://access.redhat.com/errata/RHSA-2026:26524 cve-icon
https://access.redhat.com/errata/RHSA-2026:26525 cve-icon
https://access.redhat.com/errata/RHSA-2026:26561 cve-icon
https://access.redhat.com/errata/RHSA-2026:27718 cve-icon
https://access.redhat.com/errata/RHSA-2026:27738 cve-icon
https://access.redhat.com/errata/RHSA-2026:27741 cve-icon
https://access.redhat.com/errata/RHSA-2026:27742 cve-icon
https://access.redhat.com/errata/RHSA-2026:27743 cve-icon
https://access.redhat.com/errata/RHSA-2026:28037 cve-icon
https://access.redhat.com/errata/RHSA-2026:28143 cve-icon
https://access.redhat.com/errata/RHSA-2026:28208 cve-icon
https://access.redhat.com/errata/RHSA-2026:28999 cve-icon
https://access.redhat.com/errata/RHSA-2026:29212 cve-icon
https://access.redhat.com/errata/RHSA-2026:29815 cve-icon
https://access.redhat.com/errata/RHSA-2026:29904 cve-icon
https://access.redhat.com/errata/RHSA-2026:29953 cve-icon
https://access.redhat.com/errata/RHSA-2026:32983 cve-icon
https://access.redhat.com/errata/RHSA-2026:32994 cve-icon
https://access.redhat.com/errata/RHSA-2026:33441 cve-icon
https://access.redhat.com/errata/RHSA-2026:33497 cve-icon
https://access.redhat.com/errata/RHSA-2026:34043 cve-icon
https://access.redhat.com/errata/RHSA-2026:34362 cve-icon
https://access.redhat.com/errata/RHSA-2026:34363 cve-icon
https://access.redhat.com/errata/RHSA-2026:35880 cve-icon
https://access.redhat.com/errata/RHSA-2026:42555 cve-icon
https://access.redhat.com/errata/RHSA-2026:44308 cve-icon
https://access.redhat.com/errata/RHSA-2026:44391 cve-icon
https://access.redhat.com/errata/RHSA-2026:44420 cve-icon
https://access.redhat.com/errata/RHSA-2026:44481 cve-icon
https://access.redhat.com/errata/RHSA-2026:47090 cve-icon
https://access.redhat.com/errata/RHSA-2026:49521 cve-icon
https://access.redhat.com/errata/RHSA-2026:49908 cve-icon
https://access.redhat.com/errata/RHSA-2026:49909 cve-icon
https://access.redhat.com/errata/RHSA-2026:50779 cve-icon
https://access.redhat.com/errata/RHSA-2026:50863 cve-icon
https://access.redhat.com/security/cve/CVE-2026-6477 cve-icon
https://bugzilla.redhat.com/show_bug.cgi?id=2477442 cve-icon
https://nvd.nist.gov/vuln/detail/CVE-2026-6477 cve-icon
https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-6477.json cve-icon
https://www.cve.org/CVERecord?id=CVE-2026-6477 cve-icon
https://www.postgresql.org/support/security/CVE-2026-6477/ cve-icon cve-icon cve-icon
History

Thu, 04 Jun 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-120
References
Metrics threat_severity

None

threat_severity

Important


Mon, 18 May 2026 15:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:*

Thu, 14 May 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 14 May 2026 15:00:00 +0000

Type Values Removed Values Added
First Time appeared Postgresql
Postgresql postgresql
Vendors & Products Postgresql
Postgresql postgresql

Thu, 14 May 2026 13:30:00 +0000

Type Values Removed Values Added
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.
Title PostgreSQL libpq lo_* functions let server superuser overwrite client stack memory
Weaknesses CWE-242
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}


Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: PostgreSQL

Published:

Updated: 2026-08-06T12:08:58.310Z

Reserved: 2026-04-17T00:44:19.965Z

Link: CVE-2026-6477

cve-icon Vulnrichment

Updated: 2026-08-06T12:08:58.310Z

cve-icon NVD

Status : Modified

Published: 2026-05-14T14:16:25.347

Modified: 2026-08-06T13:18:23.780

Link: CVE-2026-6477

cve-icon Redhat

Severity : Important

Publid Date: 2026-05-14T13:00:12Z

Links: CVE-2026-6477 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-06-04T02:15:03Z

Weaknesses