CVE-2026-120151
Description
A flaw was found in PostgreSQL. This vulnerability allows an authenticated user with database object creation privileges to execute arbitrary code with the permissions of the operating system account running the database service. The issue stems from a type confusion condition in the PL/pgSQL (Procedural Language/PostgreSQL) engine during record-field assignments, where a re-entrant domain check alters a record variable's structure while casting a value.
Statement
This vulnerability is rated as Important because an authenticated database user with permission to create database objects can escalate privileges and achieve arbitrary code execution as the PostgreSQL operating system service account. Although exploitation requires existing network access and non-trivial database creation privileges—precluding unauthenticated attackers—the flaw circumvents standard database engine isolation to fully compromise database host integrity and confidentiality. Standard hardened Red Hat Enterprise Linux deployments that restrict database object creation to administrative accounts substantially limit exposure to this flaw.
Mitigation
Restrict network exposure of the PostgreSQL service to trusted client hosts and remove database object creation privileges from untrusted accounts:
1. Restrict client connections in `/var/lib/pgsql/data/pg_hba.conf` to authorized IP addresses only, then reload the database configuration:
systemctl reload postgresql
2. Revoke object creation permissions from untrusted database users on the public schema:
REVOKE CREATE ON SCHEMA public FROM PUBLIC;
Caveats: Restricting connection rules blocks access from unlisted clients. Revoking schema creation privileges prevents non-administrative users from defining custom tables, types, or PL/pgSQL functions, which may impact applications that perform dynamic schema changes.
Warning: Reloading the PostgreSQL service or modifying network filter rules applies changes immediately and can terminate or disrupt existing connections.
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
The following CVSS metrics and score provided are preliminary and subject to review.
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 8.8 | N/A | 8.8 |
| Attack Vector | Network | N/A | Network |
| Attack Complexity | Low | N/A | Low |
| Privileges Required | Low | N/A | Low |
| User Interaction | None | N/A | None |
| Scope | Unchanged | N/A | Unchanged |
| Confidentiality | High | N/A | High |
| Integrity Impact | High | N/A | High |
| Availability Impact | High | N/A | High |
Vector
Red Hat: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
cve.org: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Understanding the Weakness (CWE)
Other
Technical Impact: Varies by Context
When the product accesses the resource using an incompatible type, this could trigger logical errors because the resource does not have expected properties.
Availability,Integrity,Confidentiality
Technical Impact: Read Memory; Modify Memory; Execute Unauthorized Code or Commands; DoS: Crash, Exit, or Restart
If a memory buffer is accessed using an incompatible type, and the allocated buffer is smaller than the type that the code is attempting to access, then an attacker could read or write memory outside the bounds of the buffer, leading to a crash or possibly code execution.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.