CRITICAL🇬🇧 English

CVE-2022-26520

Zapis do dowolnych plików przez pgjdbc via loggerFile (przed 42.3.3)

CVSS 9.8v3.1pub. 2022-03-10upd. 2024-11-21

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

🤖 Analiza AI
Jak działa

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.

Skutki

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.

Mitygacja

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.

Kogo dotyczy

pgjdbc (PostgreSQL JDBC Driver) w wersjach przed 42.3.3; dotyczy również pakietów Debian Linux zawierających tę bibliotekę

Uwagi

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 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Debian

    OS
    Debian
    10.011.0
  • PostgreSQL Jdbc Driver

    APP
    Postgresql
    42.1.0 – 42.1.442.3.0 – 42.3.3 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-24061CRITICAL9.8⚠ KEVPL ✓ten sam produkt

GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER

CVE-2025-32463CRITICAL9.3⚠ KEVPL ✓ten sam produkt

Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)

CVE-2025-49113CRITICAL9.9⚠ KEVPL ✓ten sam produkt

RCE przez deserializację PHP w Roundcube Webmail (parametr _from)

CVE-2025-32433CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)

CVE-2025-24201CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki