Podatność w sterowniku JDBC dla PostgreSQL (pgjdbc) w wersjach przed 42.3.3 pozwala atakującemu kontrolującemu parametry połączenia JDBC na zapis do dowolnych plików systemowych. W praktyce może to prowadzić do wykonania kodu na serwerze, np. poprzez umieszczenie pliku JSP w katalogu Tomcat.
▸ Pokaż oryginał (EN)
In pgjdbc before 42.3.3, an attacker (who controls the jdbc URL or properties) can call java.util.logging.FileHandler to write to arbitrary files through the loggerFile and loggerLevel connection properties. An example situation is that an attacker could create an executable JSP file under a Tomcat web root. NOTE: the vendor's position is that there is no pgjdbc vulnerability; instead, it is a vulnerability for any application to use the pgjdbc driver with untrusted connection properties
Sterownik pgjdbc umożliwia konfigurację logowania połączeń przez właściwości URL JDBC, w tym loggerFile (ścieżka pliku dziennika) i loggerLevel. Atakujący kontrolujący te właściwości może wywołać java.util.logging.FileHandler, wskazując dowolną ścieżkę w systemie plików jako cel zapisu logów. W ten sposób możliwe jest np. zapisanie wykonywalnego pliku JSP pod katalogiem głównym aplikacji Tomcat, co skutkuje wykonaniem kodu na serwerze.
Atakujący może zapisać dowolną treść do dowolnego pliku dostępnego dla procesu aplikacji, co w sprzyjających warunkach (np. serwer Tomcat) prowadzi do zdalnego wykonania kodu (RCE) i pełnego przejęcia serwera.
Należy zaktualizować pgjdbc do wersji 42.3.3 lub nowszej. Użytkownicy Debian Linux powinni zastosować poprawkę opisaną w DSA-5196. Dodatkowo należy upewnić się, że aplikacja nie akceptuje niezaufanych parametrów połączenia JDBC od zewnętrznych użytkowników — producent wskazuje, że przyjmowanie niezaufanych właściwości połączenia przez aplikację jest zasadniczą przyczyną podatności.
pgjdbc (PostgreSQL JDBC Driver) w wersjach przed 42.3.3; dotyczy również pakietów Debian Linux zawierających tę bibliotekę
Producent (pgjdbc) zajął stanowisko, że podatność nie leży w samym sterowniku, lecz w aplikacjach akceptujących niezaufane właściwości połączenia JDBC i przekazujących je do sterownika. Mimo to NVD przypisało podatności ocenę CVSS 9.8 (Critical). Poprawka techniczna została wdrożona w wersji 42.3.3.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDebian
OSDebian10.011.0PostgreSQL Jdbc Driver
APPPostgresql42.1.0 – 42.1.442.3.0 – 42.3.3 (bez)
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki