CVE-2026-120154: PostgreSQL INSERT ... ON CONFLICT row security bypass

CVE-2026-120154 · Severity: medium · CVSS 4.3 · Published 2026-11-12

PostgreSQL is a widely-used relational database that organizations rely on to store sensitive data with row-level security controls. This vulnerability allows an attacker with basic database privileges (INSERT, UPDATE, SELECT) to bypass row security policies and read restricted rows through repeated INSERT ... ON CONFLICT operations, potentially exposing confidential information that should remain inaccessible.

Technologies: PostgreSQL. Vendors: PostgreSQL.

Quick answers

Is CVE-2026-120154 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-120154 being exploited in the wild.
How severe is CVE-2026-120154?
Medium severity, with a CVSS score of 4.3, published 12 November 2026.
Which products and versions are affected?
PostgreSQL before 14.25, 15.20, 16.16, 17.12, 18.7.
Is there a fix for CVE-2026-120154?
Yes: fixed in PostgreSQL 14.25, 15.20, 16.16, 17.12, 18.7. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-120154 attacked?
It is attacked over the network.
Am I affected by CVE-2026-120154?
Check whether you run PostgreSQL at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • Fixed in: PostgreSQL 14.25, 15.20, 16.16, 17.12, 18.7

Technical details

The INSERT ... ON CONFLICT DO UPDATE statement in PostgreSQL fails to properly enforce row-level security policies, allowing an authenticated attacker to read all rows in a table despite RLS restrictions. The vulnerability requires the attacker to have INSERT, UPDATE, and applicable SELECT privileges on the target table and does not enable unauthorized writes. The flaw affects PostgreSQL versions before 14.25, 15.20, 16.16, 17.12, and 18.7.

Affected products

  • PostgreSQL PostgreSQL before 14.25, 15.20, 16.16, 17.12, 18.7

Timeline

  • 2026-11-12: disclosed
  • 2026-11-12: patched

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.