CVE-2026-116312 PUBLISHED

PostgreSQL MERGE can place the wrong row in a trigger transition table

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

Inconsistent transition-capture state in PostgreSQL MERGE allows a table data modifier to make an AFTER trigger process the wrong new row, via a partitioned table MERGE that performs an INSERT before an UPDATE. Within major versions 15-18, minor versions before PostgreSQL 18.7, 17.12, 16.16, and 15.20 are affected. Versions before PostgreSQL 15 are unaffected.

Metrics

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

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 Configurations

a partitioned table has an AFTER UPDATE statement trigger with a transition table

Credits

  • The PostgreSQL project thanks Jacek Bylina, Timothy Ball, Jacob Robertson, Nigel Gott, and Claude and Ada Logics for reporting this problem.

References

Problem Types

  • Improper Preservation of Consistency Between Independent Representations of Shared State CWE