CVE-2026-18408
PostgreSQL psql \unrestrict lets superuser of pg_dump origin server execute arbitrary code in psql client
- State
- Published
- Severity
- 8.8 High
- Published
- Aug 13, 2026
- Updated
- Aug 29, 2026
- Reserved
- Jul 30, 2026
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.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 8.8 High | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H | PostgreSQL |
Weaknesses
- CWE-829 Inclusion of Functionality from Untrusted Control Sphere
Affected Products
| Product | Versions |
|---|---|
PostgreSQLn/a |
|
References
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.