CyberRota Analysis
AI-GeneratedCloudNativePG versions prior to 1.28.4 and 1.29.2 contain a vulnerability that exposes cleartext role passwords in SQL statements, allowing untrusted tenants with specific privileges to recover sensitive credentials and execute commands within the database pod. This poses a significant risk to Kubernetes environments managing PostgreSQL databases, particularly for clusters not using SCRAM-SHA-256 verifiers. Organizations utilizing affected versions should prioritize upgrading to versions 1.28.4, 1.29.2, or 1.30.0 to mitigate this high-severity risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
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.