High · published August 13, 2026
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.
| Product | Versions | Fixed in |
|---|---|---|
| postgresql/postgresql | ≥ 14.0, < 14.24 | 14.24 |
| postgresql/postgresql | ≥ 15.0, < 15.19 | 15.19 |
| postgresql/postgresql | ≥ 16.0, < 16.15 | 16.15 |
| postgresql/postgresql | ≥ 17.0, < 17.11 | 17.11 |
| postgresql/postgresql | ≥ 18.0, < 18.5 | 18.5 |