Description
CloudNativePG is a platform designed to manage PostgreSQL databases within Kubernetes environments. Prior to 1.29.1 and 1.28.3, the CloudNativePG metrics exporter opens its PostgreSQL connection as the postgres superuser via the pod-local Unix socket, then demotes the session with SET ROLE pg_monitor. SET ROLE changes only current_user; session_user remains postgres. Any SQL expression evaluated inside the scrape session can invoke RESET ROLE to recover real superuser privileges, then use COPY ... TO PROGRAM to spawn an OS-level subprocess as the postgres user inside the primary pod. The READ ONLY transaction flag does not block this; it gates writes to database state, not external processes. This vulnerability is fixed in 1.29.1 and 1.28.3.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| cloudnative-pg | cloudnative-pg | < 1.28.3, >= 1.29.0, < 1.29.1 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 16.0 | govulncheck-vulndb | 0.0.20260723T184607-160000.1.1 | openSUSE-SU-2026:21483-1 |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | cloudnative-pg +1 | 1.29.1-r0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Go | github.com/cloudnative-pg/cloudnative-pg | < 1.28.3 | 1.28.3 | GHSA-423p-g724-fr39 |
| Go | github.com/cloudnative-pg/cloudnative-pg | >= 1.29.0, < 1.29.1 | 1.29.1 | GHSA-423p-g724-fr39 |
| Go | github.com/cloudnative-pg/cloudnative-pg | < 1.28.3 · >= 1.29.0, < 1.29.1 | 1.28.3, 1.29.1 | GO-2026-5106 |
Advisories 1
- openSUSE-SU-2026:21483-1 Security update for govulncheck-vulndb SUSE / openSUSE Security Updates · Jul 31, 2026