CVE-2026-120151 · Runtime
NO FIX YET · SEE WHAT TO DO
A type confusion bug in PostgreSQL's plpgsql record-field assignment lets a user who can create database objects run arbitrary code as the operating system user running the database. The flaw is triggered through a reentrant domain CHECK that changes a RECORD variable's row type during a cast.
first public Nov 12, 2026 · 1 source
Check it with your coding agent
It reads this page and tells you if your code or app is affected.
PostgreSQL servers running versions before 18.7, 17.12, 16.18, 15.20, or 14.25 are affected. The attacker needs the ability to create objects (such as domains and functions) in the database, so servers where only trusted administrators can create objects face much less risk.
Not affected if fixed-version, only-trusted-object-creators
Who cares database, postgresql, self-hosted
SELECT version(); in psql and compare against the fixed versions listed below.18.7, 17.12, 16.16, 15.20, or 14.25 depending on the major version in use.Type confusion in PostgreSQL plpgsql record-field assignment allows an object creator to execute arbitrary code as the operating system user running the database, via a reentrant domain CHECK that changes a RECORD variable's row type while a value is being cast. Versions before PostgreSQL 18.7, 17.12, 16.16, 15.20, and 14.25 are affected.
This page as .md · .json · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.
Are you affected?
Ask from here. InfraStack checks the affected versions against your stack and answers in your inbox.
InfraStack checks the affected versions against your stack and answers in Slack, with the evidence and the fix.
InfraStack checks it against your stack and answers on your report, with the evidence and the fix.