CVE-2026-44477
KrytyczneCVSS 9.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 38 — wyżej niż 38% wszystkich znanych CVE
Streszczenie
CloudNativePG przed wersjami 1.29.1 i 1.28.3 zawiera podatność w eksporterze metryk, który łączy się z PostgreSQL jako superużytkownik postgres, a następnie obniża uprawnienia sesji za pomocą SET ROLE pg_monitor. Ponieważ SET ROLE zmienia tylko current_user, a session_user pozostaje postgres, atakujący może użyć RESET ROLE, aby odzyskać uprawnienia superużytkownika i wykonać COPY ... TO PROGRAM, uruchamiając proces w systemie operacyjnym jako użytkownik postgres w głównym podzie.
Ocena ryzyka
Ryzyko polega na możliwości eskalacji uprawnień z pg_monitor do pełnego superużytkownika postgres, co pozwala na wykonanie dowolnych poleceń systemowych w podzie głównym bazy danych, potencjalnie prowadząc do przejęcia całego klastra PostgreSQL w Kubernetes.
Rekomendacja
Należy niezwłocznie zaktualizować CloudNativePG do wersji 1.29.1 lub 1.28.3, które zawierają poprawkę eliminującą tę podatność.
Oryginalny opis (angielski, źródło NVD)
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.

