CVE-2026-107314
ŚrednieCVSS 5.9Streszczenie
W sterowniku pgjdbc (PostgreSQL JDBC Driver) w wersjach 42.7.11-42.7.13 brakuje wymogu uwierzytelniania, gdy właściwość requireAuth wyklucza wszystkie znane metody (np. requireAuth=!password,!md5,!gss,!sspi,!scram-sha-256,!none). Sterownik akceptuje wtedy dowolną metodę żądaną przez serwer, w tym uwierzytelnianie hasłem w postaci jawnego tekstu. Atakujący w pozycji pośredniej może przechwycić hasło bazy danych. Wersja 42.7.14 naprawia problem.
Ocena ryzyka
Atakujący może przechwycić hasło bazy danych, co może prowadzić do nieautoryzowanego dostępu do danych i naruszenia poufności.
Rekomendacja
Zaktualizuj pgjdbc do wersji 42.7.14 lub nowszej. Upewnij się, że właściwość requireAuth jest skonfigurowana z listą dozwolonych metod (np. requireAuth=scram-sha-256).
Inne podatności w pgjdbc
Zobacz wszystkie- CVE-2026-107315Średnie
Sterownik JDBC dla PostgreSQL (pgjdbc) w wersjach od 42.7.4 do 42.7.13 dopełnia wartość krótszą niż zadeklarowana długość bajtami pozostałymi w buforze wysyłki zamiast zerami, a serwer przechowuje te bajty jako część wartości. Bajty te to wiadomości wysłane wcześniej przez sterownik na tym samym połączeniu: tekst SQL i wartości parametrów ostatnich zapytań, które w połączeniach pulowanych mogą pochodzić z innych żądań. Każda dopełniona wartość może przenosić do 8192 bajtów takiego ruchu, a przy szyfrowaniu GSS do 16320 bajtów. Dopełnianie występuje, gdy aplikacja deklaruje długość większą niż dostarczane dane, przez PreparedStatement.setObject z ByteStreamWriter, CopyIn.writeToCopy, PGCopyOutputStream.write, LargeObject.write lub Blob.setBytes. Sterownik przyjmuje te wywołania bez błędu. Atakujący, który może sprawić, że aplikacja zapisze taką wartość i odczyta ją, może zebrać wcześniejszy ruch. Aplikacje, w których deklarowane długości zawsze odpowiadają danym, nie są dotknięte. Wersje 42.7.3 i wcześniejsze dopełniają zerami.
- CVE-2026-54291Średnie
Sterownik JDBC dla PostgreSQL (pgjdbc) w wersjach 42.7.4 do 42.7.11 umożliwia ciche obniżenie poziomu uwierzytelniania SCRAM-SHA-256-PLUS z wiązaniem kanału do zwykłego SCRAM-SHA-256 bez niego. Atakujący typu man-in-the-middle może wykorzystać certyfikat bez odpowiedniego skrótu wiązania kanału, aby wymusić tę degradację i ominąć ochronę.
- CVE-2026-42198Wysokie
Sterownik JDBC dla PostgreSQL (pgjdbc) w wersjach od 42.2.0 do 42.7.10 jest podatny na atak DoS po stronie klienta podczas uwierzytelniania SCRAM-SHA-256. Złośliwy serwer może wymusić na sterowniku wykonanie PBKDF2 z bardzo dużą liczbą iteracji, co prowadzi do nadmiernego obciążenia CPU i może zablokować pule połączeń. Parametr loginTimeout nie w pełni łagodził problem, ponieważ wątek roboczy kontynuował obliczenia nawet po upływie czasu oczekiwania.
Oryginalny opis (angielski, źródło NVD)
pgjdbc, the PostgreSQL JDBC Driver, versions 42.7.11 through 42.7.13 enforce no restriction when the requireAuth connection property excludes all six authentication methods the driver knows, for example requireAuth=!password,!md5,!gss,!sspi,!scram-sha-256,!none. The driver then accepts any method the server asks for, including cleartext password authentication. A value without a method in it, such as requireAuth=, (a single comma), is affected the same way. An attacker positioned between the application and its server can ask for cleartext password authentication and receive the database password. A positive list such as requireAuth=scram-sha-256, and a partial exclusion such as requireAuth=!password,!md5, are enforced correctly. The property has no default value, so a deployment that does not set it is not affected. 42.7.14 fixes the problem: such a connection is refused with SQLState 08004, and a value without a method in it is rejected as invalid.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

