CVE-2026-18408: PostgreSQL psql \unrestrict lets superuser of pg_dump origin server execute arbitrary code in psql client

Published Aug 13, 2026
·
Updated

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

Other sources

Untrusted data inclusion in pgdump 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. pgdumpall is also affected. pgrestore 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.

MITRE

Affected Software

9 affected componentsFixes available
PostgreSQL psql<14.24
PostgreSQL pg_dumpall<14.24
PostgreSQL pg_restore<14.24
PostgreSQL postgresql>=14.0<14.24
PostgreSQL postgresql>=15.0<15.19
PostgreSQL postgresql>=16.0<16.15
PostgreSQL postgresql>=17.0<17.11
PostgreSQL postgresql>=18.0<18.5
Microsoft azl3 postgresql 16.14-1<16.15-1
16.15-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 16.15-1
  2. Upgrade

    Upgrade PostgreSQL to a version that resolves this vulnerability.

    Fixed in 18.6
  3. Upgrade

    Upgrade PostgreSQL to a version that resolves this vulnerability.

    Fixed in 17.11
  4. Upgrade

    Upgrade PostgreSQL to a version that resolves this vulnerability.

    Fixed in 16.15
  5. Upgrade

    Upgrade PostgreSQL to a version that resolves this vulnerability.

    Fixed in 15.19
  6. Upgrade

    Upgrade PostgreSQL to a version that resolves this vulnerability.

    Fixed in 14.24
  7. Compensating control

    For psql clients used with pg_dump/pg_dumpall/pg_restore, ensure the client does not allow restrict/ unrestrict meta-command input expansion to process untrusted data; prevent any untrusted or attacker-controlled input from reaching psql restrict meta-command handling during restore (including plain-format dumps used with pg_restore).

Event History

Aug 13, 2026
CVE Published
via MITRE·01:00 PM
Data Sourced
via MITRE·01:00 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·01:17 PM
DescriptionSeverityWeaknessAffected Software
Aug 15, 2026
Data Sourced
via Microsoft·02:23 AM
DescriptionSeverityWeakness
Data Sourced
via Microsoft·02:23 AM
Affected Software
Updated
via Microsoft·02:23 AM
DescriptionSeverity

Frequently Asked Questions

1

What is the severity of CVE-2026-18408?

The severity of CVE-2026-18408 is high with a score of 8.8.

2

How do I fix CVE-2026-18408?

To fix CVE-2026-18408, it is recommended to update your PostgreSQL installation to the latest version that addresses this vulnerability.

3

What impact does CVE-2026-18408 have on PostgreSQL users?

CVE-2026-18408 allows a malicious superuser to execute arbitrary code on the client's operating system during restore operations with pg_dump.

4

Who is affected by CVE-2026-18408?

Users of PostgreSQL psql and pg_dump who have a superuser on the origin server are affected by CVE-2026-18408.

5

When was CVE-2026-18408 published?

CVE-2026-18408 was published on August 13, 2026.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203