Skip to content
CVE PROGRAM SOURCE RECORD8.8 High

CVE-2026-18408

PostgreSQL psql \unrestrict lets superuser of pg_dump origin server execute arbitrary code in psql client

Description

Untrusted data inclusion in pg_dump in PostgreSQL allows a malicious superuser of the origin server to inject arbitrary code for restore-time execution as the client operating system account running psql to restore the dump, via psql \restrict meta-command input expansion. The fix for CVE-2025-8714 introduced \restrict and \unrestrict to block this attack, but \unrestrict itself was sufficient for an attack. pg_dumpall is also affected. pg_restore is affected when used to generate a plain-format dump. Non-core use of \restrict would be affected, but we've not identified non-core use. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

n/a PostgreSQL

Default version status: unaffected

  • 18 to < 18.6affected
  • 17 to < 17.11affected
  • 16 to < 16.15affected
  • 15 to < 15.19affected
  • 0 to < 14.24affected

References