CVE-2026-116314 PUBLISHED

PostgreSQL pg_restore executes arbitrary code due to missing non-plain archive validation

Assigner: PostgreSQL
Reserved: 26.10.2026 Published: 12.11.2026 Updated: 12.11.2026

Improper input validation in PostgreSQL pg_restore allows a non-plain archive provider to execute arbitrary code as the operating system user running pg_restore, via a crafted archive. Note a contrast: crafted archive data may legitimately cause arbitrary SQL to execute at the restore destination, but it does not legitimately confer arbitrary code execution in the pg_restore OS process. Versions before PostgreSQL 18.7, 17.12, 16.16, 15.20, and 14.25 are affected.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS Score: 8.8

Product Status

Vendor n/a
Product PostgreSQL
Versions Default: unaffected
  • affected from 18 to 18.7 (excl.)
  • affected from 17 to 17.12 (excl.)
  • affected from 16 to 16.16 (excl.)
  • affected from 15 to 15.20 (excl.)
  • affected from 0 to 14.25 (excl.)

Affected Configurations

victim runs pg_restore on an attacker-crafted archive

Credits

  • The PostgreSQL project thanks Dilip Kumar, Yonghwa Lee, OpenSec, and Ben Dixon for reporting this problem.

References

Problem Types

  • Improper Input Validation CWE