Skip to main content

CloudNativePG CVE-2026-55769

| EUVDEUVD-2026-63687 CRITICAL
Untrusted Search Path (CWE-426)
2026-08-20 GitHub_M
9.4
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Authenticate as DATABASE OWNER tenant
  2. Delivery
    Plant overloaded operator in public schema
  3. Exploit
    Set role/database search_path to public
  4. Install
    Operator introspection query resolves to planted function
  5. C2
    Execute as postgres superuser
  6. Execute
    COPY FROM PROGRAM runs OS commands
  7. Impact
    Steal pod ServiceAccount token

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V13 - Configuration Search path verification
Exploitation Conditions

Exploitation requires the attacker to already hold DATABASE OWNER (or an equivalent role able to CREATE objects in a writable schema such as public and to run ALTER DATABASE/ALTER ROLE ... SET search_path) on a database managed by a vulnerable CloudNativePG instance (< 1.28.4, or 1.29.0-1.29.1). The concrete prerequisites are: (1) the operator opening a superuser connection with an unpinned search_path - the default behavior before the fix; (2) a schema the attacker can write to (public by default) so an overloaded built-in operator/function can be planted; and (3) the tenant's ability to influence the connecting session's search_path. Limiting factors: this is authenticated (PR:L) - a purely external attacker with no database role cannot exploit it; it is most relevant in multi-tenant deployments where untrusted parties legitimately own databases, and is largely inert where only trusted operators hold DATABASE OWNER. No user interaction is required, and the trigger is passive (the operator's routine introspection query fires the payload).

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H, base 9.4) is credible and internally consistent with the description: network-reachable PostgreSQL, low attacker privileges (a legitimate DATABASE OWNER / tenant role), no user interaction, and high impact on both the vulnerable database and subsequent systems (the postgres OS process and the Kubernetes pod's ServiceAccount token). The high subsequent-system impact (SC/SI/SA:H) is well-justified because exploitation escapes the database boundary into OS command execution and cluster-credential theft. No EPSS score, KEV listing, or POC was provided, so this is a high-severity issue by mechanism rather than a confirmed widespread-exploitation event - real-world risk is highest in multi-tenant CloudNativePG deployments where untrusted parties legitimately own databases; in single-tenant clusters where only trusted operators hold DATABASE OWNER, the practical exposure is lower. The PR:L requirement is a genuine limiting factor: an attacker must already hold DATABASE OWNER (or equivalent) on a managed database, so this is a tenant-escalation / lateral-movement flaw, not remote-unauthenticated RCE.

Exploit ScenarioDerived

A tenant who holds DATABASE OWNER on a CloudNativePG-managed database sets a role- or database-level search_path pointing at the public schema and plants an overloaded operator/function there. When the instance-manager next runs an unqualified introspection query as the postgres superuser, the planted function executes with superuser rights, and the attacker chains COPY ... FROM PROGRAM to run OS commands in the pod and read the ServiceAccount token for further Kubernetes lateral movement. No public exploit identified at time of analysis, but the advisory and patch describe the technique in full detail.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 20, 2026

Privilege escalation to PostgreSQL superuser and pod-level command execution in CloudNativePG before 1.28.4 and 1.29.2 lets a low-privileged tenant who holds DATABASE OWNER escape from database-level control to the postgres OS process. Because operator-issued superuser connections did not pin search_path, a tenant could plant overloaded built-in operators in the public schema and hijack instance-manager introspection queries so they run attacker-controlled code as the superuser, then reach OS command execution via COPY ... FROM PROGRAM and the pod's ServiceAccount token. This is CWE-426 (Untrusted Search Path), the same class as PostgreSQL's CVE-2018-1058; no public exploit identified at time of analysis, but the vendor patch and detailed advisory make the mechanism fully documented.

RemediationAI

Vendor-released patch: upgrade CloudNativePG to 1.28.4, 1.29.2, or 1.30.0, which pin the operator's search_path to 'pg_catalog, public, pg_temp' on every connection and automatically recreate the PgBouncer public.user_search SECURITY DEFINER function with its own pinned search_path during the first reconciliation after upgrade (see GHSA-x8c2-3p4r-v9r6 and release notes at https://github.com/cloudnative-pg/cloudnative-pg/releases/tag/v1.30.0). Note a functional side effect: custom monitoring queries now run inside a transaction with the pinned search_path, so any metric referencing objects in other user-defined schemas by unqualified name must be schema-qualified (e.g. myschema.mytable) or it will stop resolving; user-authored postInit* bootstrap and logical-import post-import SQL are unaffected. Where immediate patching is not possible, compensating controls are to stop granting DATABASE OWNER or CREATE on the public schema to untrusted tenants and to REVOKE CREATE ON SCHEMA public FROM PUBLIC on managed databases (trade-off: breaks tenants that legitimately create objects in public), audit databases for tenant-set search_path via ALTER DATABASE/ALTER ROLE, and treat multi-tenant clusters as exposed until upgraded.

Affected VersionsENISA

cloudnative-pg < 1.28.4
cloudnative-pg 1.29.0, < 1.29.2

Affected Packages

euvd cloudnative_pg fix: 1.28.4, 1.29.2

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

CloudNativePG is a CNCF Kubernetes operator that provisions and manages PostgreSQL clusters; its instance-manager sidecar connects to PostgreSQL as the postgres superuser to run introspection and reconciliation queries. The root cause is CWE-426 Untrusted Search Path: fillDefaultParameters in pkg/management/postgres/pool/profiles.go opened superuser connections without pinning search_path, so operator sessions inherited any database- or role-level search_path set by a tenant via ALTER DATABASE/ALTER ROLE. PostgreSQL resolves unqualified names (including operators like the '>' used in SELECT COUNT(*) > 0 FROM pg_catalog.pg_extension WHERE extname = $1) through search_path, so a DATABASE OWNER could create an overloaded operator or function in the writable public schema that shadows the intended built-in and executes as the superuser. The same untrusted-search-path flaw affected direct sql.Open("pgx", ...) callsites and the public.user_search SECURITY DEFINER function used by the PgBouncer auth_query integration. The fix pins search_path to a fixed 'pg_catalog, public, pg_temp' on every operator connection (pg_catalog first so built-ins win, pg_temp last so it cannot shadow) and recreates the SECURITY DEFINER function with SET search_path = pg_catalog, pg_temp.

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 (GitHub_M) PRIMARY 9.4 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
vuln.today AI 9.9 CRITICAL

Attacker needs an existing low-privileged DATABASE OWNER role (PR:L) over a network-reachable database (AV:N/AC:L/UI:N); superuser and OS/ServiceAccount escape crosses the security boundary, so S:C with full C/I/A:H.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/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:H/SI:H/SA:H

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

Lifecycle Timeline

2
Patch available
Aug 20, 2026 - 22:04 EUVD
CVE Published
Aug 20, 2026 - 21:41 cve.org
CRITICAL 9.4

DescriptionCVE.org

CloudNativePG is a platform designed to manage PostgreSQL databases within Kubernetes environments. Prior to 1.28.4 and 1.29.2, CloudNativePG opened superuser connections without pinning search_path in fillDefaultParameters in pkg/management/postgres/pool/profiles.go. A role holding DATABASE OWNER could create overloaded built-in operators in the public schema and change the database or role search_path, causing instance-manager introspection queries such as SELECT COUNT(*) > 0 FROM pg_catalog.pg_extension WHERE extname = $1 to execute attacker-controlled functions as the postgres superuser. The same trust issue affected direct sql.Open("pgx", ...) callsites and the public.user_search SECURITY DEFINER function, enabling PostgreSQL superuser access, operating system command execution through COPY ... FROM PROGRAM, and access to the pod ServiceAccount token. This issue is fixed in versions 1.28.4, 1.29.2, and 1.30.0.

Executive ViewAI

Why It Matters

CloudNativePG versions before 1.28.4 and 1.29.2 contain a documented privilege escalation flaw (CVSS 9.4) that allows database users to gain pod-level control and access infrastructure credentials, though no public exploit code currently exists. Organizations running affected versions must patch immediately, as the vulnerability mechanism is fully detailed in vendor advisories and could enable insider threats or post-breach lateral movement.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 57% exploitable
Prevalence
Medium
popular CNCF PostgreSQL Kubernetes operator, common but not universal
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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

Product Status
openSUSE Tumbleweed Fixed

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