CVE-2026-55765
HighCVSS 8.5Exploitation Probability (EPSS)
Low risk21th percentile - higher than 21% of all known CVEs
Summary
CloudNativePG prior to 1.28.4 and 1.29.2 embedded cleartext role passwords in ALTER ROLE and CREATE ROLE statements. With pg_stat_statements and track_utility enabled, an untrusted tenant with pg_monitor or pg_read_all_stats could recover platform-managed passwords and execute OS commands in the database pod. Fixed in 1.28.4, 1.29.2, and 1.30.0.
Risk Assessment
An untrusted tenant can gain access to platform-managed passwords and execute system commands, leading to full compromise of the PostgreSQL cluster.
Recommendation
Upgrade CloudNativePG to 1.28.4, 1.29.2, or 1.30.0 and ensure SCRAM-SHA-256 verifiers are used for managed roles.
Other vulnerabilities in CloudNativePG
See all- CVE-2026-55769Critical
CloudNativePG before versions 1.28.4 and 1.29.2 opened superuser connections without pinning search_path, allowing a role with DATABASE OWNER to execute attacker-controlled functions as the postgres superuser, including OS command execution and access to the pod ServiceAccount token.
- CVE-2026-44477Critical
CloudNativePG before versions 1.29.1 and 1.28.3 has a vulnerability in the metrics exporter that connects as the postgres superuser via a Unix socket and then demotes privileges with SET ROLE pg_monitor. An attacker can use RESET ROLE to regain superuser privileges and execute arbitrary system commands via COPY ... TO PROGRAM.
Original NVD description (English source)
CloudNativePG is a platform designed to manage PostgreSQL databases within Kubernetes environments. Prior to 1.28.4 and 1.29.2, CloudNativePG embedded cleartext role passwords in `ALTER ROLE` and `CREATE ROLE` statements generated by SetUserPassword in pkg/management/postgres/utils/roles.go and appendPasswordOption in internal/management/controller/roles/postgres.go. When pg_stat_statements was preloaded with track_utility enabled and an untrusted tenant held pg_monitor or pg_read_all_stats, the tenant could recover platform-managed superuser or application-owner passwords, reconnect through enabled superuser TCP access, and execute operating system commands in the database pod with `COPY ... FROM PROGRAM`. Clusters using SCRAM-SHA-256 verifiers in managed-role Secrets were not affected. This issue is fixed in versions 1.28.4, 1.29.2, and 1.30.0.

