Skip to main content

PostgreSQL CVE-2026-16239

| EUVDEUVD-2026-57849 HIGH
Access of Resource Using Incompatible Type (Type Confusion) (CWE-843)
2026-08-13 f86ef6dc-4d3a-42ad-8f28-e6d5547a5007 GHSA-m6g7-vvh9-445r
8.8
CVSS 3.1 · Vendor: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain valid PostgreSQL credentials
  2. Delivery
    Authenticate to database over network
  3. Exploit
    DECLARE named cursor with initial column type
  4. Install
    CLOSE portal to free type metadata
  5. C2
    Re-DECLARE same cursor name with incompatible type
  6. Execute
    Trigger type confusion memory corruption in portal lifecycle
  7. Impact
    Execute arbitrary code as postgres OS user

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Type safety enforcement
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a valid PostgreSQL database credential - any account holding LOGIN privilege and CONNECT access to the target database is sufficient; no superuser, schema-owner, or elevated role is needed. The triggering mechanism (re-declaring a named cursor with a different type) uses standard SQL cursor lifecycle statements (DECLARE, CLOSE) that are available to all non-restricted database users by default, with no special configuration, extensions, or non-default features required to be enabled. What limits exploitation: the attacker must possess a valid database login credential - unauthenticated network access alone is not sufficient (PR:L per CVSS vector). The impact scope is bounded to the PostgreSQL OS user account (S:U), so host-level privilege escalation beyond that account is not directly provided by this CVE. Deployments that restrict CONNECT privileges to tightly controlled application accounts and block direct user access to the database reduce - but do not eliminate - the exploitable population.

Impact

The NVD-assigned CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, score 8.8) accurately reflects the attack profile: the vulnerability is reachable over the network, requires low complexity, demands only a low-privileged authenticated session, and results in full confidentiality, integrity, and availability compromise of the database process. Scope is unchanged (S:U), bounding direct impact to the PostgreSQL OS account, but that account routinely has read/write access to all database files and significant host filesystem access, making the practical impact severe. No EPSS score was included in the source intelligence, so probabilistic exploitation likelihood cannot be quantified; this is a gap. No CISA KEV listing and no confirmed POC exist at time of analysis, which modestly tempers urgency compared to actively exploited flaws. However, the extremely low barrier - any valid database credential suffices, and the triggering mechanism is expressible in plain SQL with no binary tooling - means the exploitation complexity delta between description and working exploit is narrow. This is a genuine high-priority patch, not a high-CVSS-but-low-real-risk scenario; the only meaningful limiting factor is requiring a valid database account.

Exploit ScenarioDerived

An attacker with any valid PostgreSQL login - such as a compromised application service account or a low-privileged internal user - connects to the database over the network and issues a sequence of standard SQL statements: DECLARE a named cursor returning one column type, CLOSE it, then re-DECLARE the same cursor name with a different column type, triggering the type confusion in the portal memory structures. The resulting memory corruption can be leveraged to redirect PostgreSQL's execution flow and run attacker-controlled code as the OS user under which the database process runs, typically 'postgres', granting full access to all database files and the host account's filesystem scope. No public exploit code has been identified at time of analysis, but the attack requires only plain SQL and no binary exploitation tooling.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 13, 2026

Remote code execution in PostgreSQL's portal/cursor subsystem allows any authenticated database user to execute arbitrary code as the OS-level process owner (typically 'postgres') by re-creating a named cursor with an incompatible result type. All actively supported major branches are affected - versions prior to 14.24, 15.19, 16.15, 17.11, and 18.5. No public exploit or active exploitation has been identified at time of analysis, but the low attack complexity and minimal authentication requirement (any valid login) make this a critical patch priority for the ubiquitous open-source RDBMS.

RemediationAI

Upgrade to PostgreSQL 18.5, 17.11, 16.15, 15.19, or 14.24 - the first patched releases in each supported major branch - as documented in the official security advisory at https://www.postgresql.org/support/security/CVE-2026-16239/. Patch availability is confirmed per vendor advisory; no exact internal fix-commit was included in the source data for independent verification. If an immediate upgrade is not operationally feasible, reduce the pool of potential attackers by revoking CONNECT or LOGIN privileges from all non-essential accounts and enforcing strict allowlisting of service accounts; this does not eliminate the vulnerability but raises the attacker's prerequisite bar. Avoiding named cursor usage at the application layer (replacing DECLARE ... CURSOR with simple query protocol or server-side cursors managed by the application framework) may reduce exposure for specific applications, but this cannot be enforced at the database level without significant refactoring and carries application compatibility trade-offs. Placing PostgreSQL behind a connection pooler such as PgBouncer in transaction mode does not mitigate this flaw, as exploitation occurs within a valid authenticated session. End-of-life major versions (13 and below) should be treated as permanently vulnerable and migrated to a supported branch receiving security fixes.

Affected VersionsENISA

PostgreSQL 0 <14.24
PostgreSQL 18 <18.5
PostgreSQL 16 <16.15
PostgreSQL 15 <15.19
PostgreSQL 17 <17.11

Affected Packages

euvd postgresql fix: 14.24, 15.19, 16.15, 17.11, 18.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

PostgreSQL uses a 'portal' abstraction to manage the lifecycle of named cursors and prepared-statement execution state, including type metadata for result columns. CWE-843 (Access of Resource Using Incompatible Type - Type Confusion) identifies the root cause: when a named portal is closed and then re-created under the same name with a different column type signature, internal memory structures that hold references to the original type metadata are not fully invalidated. The engine subsequently operates on those structures with mismatched type assumptions - a classic memory corruption precursor tagged explicitly in the source intelligence. Because the attack surface is the standard SQL DECLARE/CLOSE/re-DECLARE cursor lifecycle, it is accessible to any authenticated user without requiring superuser rights, extensions, or non-default configuration. CPE strings were not present in the provided data, but the vulnerability spans PostgreSQL RDBMS major versions 14 through 18 on all supported platforms (Linux, Windows, macOS, BSD).

Know when PostgreSQL gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (f86ef6dc-4d3a-42ad-8f28-e6d5547a5007) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Network-reachable via standard SQL connection (AV:N/AC:L); any authenticated low-privilege user triggers it (PR:L/UI:N); full OS-user-level code execution yields C:H/I:H/A:H within the unchanged scope of the postgres process (S:U).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 8.8 HIGH

Primary rating from Vendor (f86ef6dc-4d3a-42ad-8f28-e6d5547a5007).

CVSS VectorVendor: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Aug 13, 2026 - 14:02 EUVD
CVE Published
Aug 13, 2026 - 13:17 cve.org
HIGH 8.8

DescriptionCVE.org

Type confusion in PostgreSQL "portal"/cursor lifecycle allows a user to execute arbitrary code as the operating system user running the database, via re-creation of a cursor or other portal with different types. Versions before PostgreSQL 18.5, 17.11, 16.15, 15.19, and 14.24 are affected.

Executive ViewAI

Why It Matters

PostgreSQL instances across all actively supported versions contain a remote code execution vulnerability in the portal/cursor subsystem allowing any authenticated database user to escalate privileges to OS-level process owner permissions. This impacts organizations globally, as PostgreSQL is the world's most deployed open-source relational database, creating an immediate threat to data confidentiality, integrity, and infrastructure availability-compounded by the absence of a vendor patch.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Implement principle-of-least-privilege access controls restricting database logins to essential administrators and application service accounts only; deploy network segmentation to limit PostgreSQL connectivity to authorized application servers and administrative terminals; enable comprehensive connection and query audit logging to detect anomalous code execution attempts; maintain validated backup copies with regularly tested recovery procedures; evaluate immediate migration to managed PostgreSQL services (AWS RDS, Azure Database for PostgreSQL) which may deploy security patches ahead of community releases.

Threat Intelligence Overview

EPSS Score
0.6%
Top 55% exploitable
Prevalence
Ubiquitous
dominant open-source RDBMS present across virtually all enterprise environments
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2025-1094 HIGH POC
8.1 Feb 13

PostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() improperl

CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2013-1899 MEDIUM POC
6.5 Apr 04

Argument injection vulnerability in PostgreSQL 9.2.x before 9.2.4, 9.1.x before 9.1.9, and 9.0.x before 9.0.13 allows re

CVE-2026-20253 CRITICAL POC
9.8 Jun 10

Unauthenticated arbitrary file write in Splunk Enterprise (below 10.2.4 and 10.0.7) and Splunk Cloud Platform (below 10.

CVE-2026-9586 CRITICAL POC
9.3 Jul 17

Unauthenticated SQL injection in Sangoma Switchvox SMB Edition 8.3 (build 104997) lets remote attackers execute arbitrar

CVE-2017-7546 CRITICAL
9.8 Aug 16

PostgreSQL versions before 9.2.22, 9.3.18, 9.4.13, 9.5.8 and 9.6.4 are vulnerable to incorrect authentication flaw allow

CVE-2015-1352 MEDIUM POC
5.0 Mar 30

The build_tablename function in pgsql.c in the PostgreSQL (aka pgsql) extension in PHP through 5.6.7 does not validate t

CVE-2024-10553 CRITICAL POC
9.8 Mar 20

A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitra

CVE-2019-9193 HIGH POC
7.2 Apr 01

In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_serve

CVE-2026-40887 CRITICAL POC
9.1 Apr 14

Unauthenticated SQL injection in Vendure Shop API allows remote attackers to execute arbitrary SQL commands against the

CVE-2022-24760 CRITICAL POC
10.0 Mar 12

Parse Server is an open source http web server backend. Rated critical severity (CVSS 10.0), this vulnerability is remot

CVE-2025-56157 CRITICAL POC
9.8 Dec 18

Hard-coded default PostgreSQL credentials shipped in the docker-compose.yaml of langgenius Dify through version 1.5.1 al

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy