What’s Vulnerable › Vulnerabilities
CVE-2026-18408: PostgreSQL psql \unrestrict lets superuser of pg_dump origin server execute arbitrary code in psql client
- Severity: high (CVSS 8.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-08-13 · updated 2026-08-29
- Weakness: CWE-829
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
- PostgreSQL: from 14.0 before 14.24; from 15.0 before 15.19; from 16.0 before 16.15; from 17.0 before 17.11; from 18.0 before 18.5 — fixed in 14.24, 15.19, 16.15, 17.11, 18.5
How to fix
Upgrade to a fixed version: PostgreSQL 14.24, 15.19, 16.15, 17.11. Check the vendor advisory for mitigations.
References
Get alerted when CVE-2026-18408 or the next vulnerability affects your stack