CVE-2026-19888
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 30 - wyżej niż 30% wszystkich znanych CVE
Streszczenie
Brak walidacji obowiązkowego atrybutu w parserze SCRAM client-final-message w PgBouncer do wersji 1.25.2 pozwala nieuwierzytelnionemu zdalnemu atakującemu na spowodowanie awarii procesu. Źle sformułowana wiadomość może sprawić, że parser zgłosi sukces, pozostawiając wymaganą wartość nieustawioną, która następnie jest wyłuskiwana jako wskaźnik NULL. Awaria następuje przed weryfikacją jakichkolwiek poświadczeń, więc nie jest wymagane żadne ważne konto. Ponieważ PgBouncer obsługuje wszystkich klientów z jednego procesu, to kończy wszystkie połączone połączenia.
Ocena ryzyka
Ryzyko polega na możliwości całkowitej niedostępności usług bazodanowych dla wszystkich klientów, co może prowadzić do przerw w działaniu aplikacji.
Rekomendacja
Zaleca się aktualizację PgBouncer do wersji po 1.25.2 oraz wdrożenie monitorowania awarii procesu.
Inne podatności w PgBouncer
Zobacz wszystkie- CVE-2015-6817Wysokie
PgBouncer w wersji 1.6.x przed 1.6.1, skonfigurowany z auth_user, umożliwia zdalnym atakującym uzyskanie dostępu do logowania jako auth_user za pomocą nieznanej nazwy użytkownika.
- CVE-2015-4054Wysokie
PgBouncer w wersjach przed 1.5.5 umożliwia zdalnym atakującym spowodowanie awarii usługi (denial of service) poprzez wysłanie pakietu z hasłem przed pakietem startowym, co prowadzi do dereferencji wskaźnika NULL.
- CVE-2026-6669Średnie
PgBouncer do wersji 1.25.2 nie ogranicza górnej granicy liczby iteracji wyprowadzania klucza podczas uwierzytelniania SCRAM do serwera backendowego. Złośliwy lub przejęty backend PostgreSQL może wymusić niekontrolowane zużycie CPU w PgBouncer, a procesu wyprowadzania klucza nie można przerwać w buildach frontendowych.
- CVE-2026-6668Wysokie
Przepełnienie liczby całkowitej w logice wzrostu bufora pakietów w PgBouncer do wersji 1.25.2 pozwala nieuwierzytelnionemu zdalnemu atakującemu na spowodowanie odmowy usługi. Odpowiednio duże dane wejściowe powodują przepełnienie obliczenia rozmiaru bufora, pozostawiając pętlę wzrostu niezdolną do zakończenia. Ponieważ PgBouncer obsługuje wszystkich klientów z jednego procesu, to nasyca rdzeń CPU i blokuje wszystkie połączone połączenia, dopóki proces nie zostanie zabity. Zarówno nieuwierzytelnione, jak i uwierzytelnione ścieżki kodu mogą osiągnąć przepełnienie.
- CVE-2026-6667Średnie
PgBouncer przed wersją 1.25.2 nie przeprowadzał odpowiedniej kontroli autoryzacji dla polecenia administracyjnego KILL_CLIENT. Każdy użytkownik z dostępem do konsoli administracyjnej mógł je wykonać, zamiast tylko użytkownicy z listy admin_users.
- CVE-2026-6666Średnie
W PgBouncer przed wersją 1.25.2 istnieje możliwość wywołania awarii poprzez odwołanie do pustego wskaźnika. Dzieje się tak, gdy serwer wyśle odpowiedź błędu bez pola SQLSTATE.
- CVE-2026-6665Wysokie
Kod SCRAM w PgBouncer przed wersją 1.25.2 nieprawidłowo sprawdza wartość zwracaną przez strlcat() podczas budowania wiadomości client-final-message. Złośliwy backend wysyłający server-final-message z długim nonce może spowodować przepełnienie stosu.
- CVE-2026-6664Wysokie
W PgBouncer przed wersją 1.25.2 występuje przepełnienie liczby całkowitej podczas parsowania pakietów sieciowych, które omija sprawdzenie granic i może prowadzić do awarii. Nieuwierzytelniony zdalny atakujący może spowodować crash PgBouncer za pomocą spreparowanego pakietu uwierzytelniania SCRAM.
Oryginalny opis (angielski, źródło NVD)
Missing validation of a mandatory attribute in the SCRAM client-final-message parser in PgBouncer through 1.25.2 allows an unauthenticated remote attacker to crash the process. A malformed message can make the parser report success while leaving a required value unset, which is then dereferenced as a NULL pointer. The crash occurs before any credential is verified, so no valid account is required. Because PgBouncer serves all clients from a single process, this terminates every pooled connection.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

