CRITICAL✓ PATCH🇬🇧 English

CVE-2024-1597

SQL Injection w PostgreSQL JDBC Driver (pgjdbc) — tryb SIMPLE

CVSS 10.0v3.1pub. 2024-02-19upd. 2025-11-03

Sterownik JDBC dla PostgreSQL (pgjdbc) w trybie PreferQueryMode=SIMPLE jest podatny na SQL injection, umożliwiając atakującemu modyfikację wykonywanych zapytań SQL. Podatność uzyskała maksymalny wynik CVSS 10.0, co czyni ją krytycznym zagrożeniem dla aplikacji korzystających z tego trybu.

Pokaż oryginał (EN)

pgjdbc, the PostgreSQL JDBC Driver, allows attacker to inject SQL if using PreferQueryMode=SIMPLE. Note this is not the default. In the default mode there is no vulnerability. A placeholder for a numeric value must be immediately preceded by a minus. There must be a second placeholder for a string value after the first placeholder; both must be on the same line. By constructing a matching string payload, the attacker can inject SQL to alter the query,bypassing the protections that parameterized queries bring against SQL Injection attacks. Versions before 42.7.2, 42.6.1, 42.5.5, 42.4.4, 42.3.9, and 42.2.28 are affected.

🤖 Analiza AI
Jak działa

Podatność występuje wyłącznie gdy aplikacja skonfigurowana jest z opcją PreferQueryMode=SIMPLE (nie jest to tryb domyślny). W tym trybie pgjdbc nie korzysta z mechanizmu zapytań parametryzowanych po stronie serwera, lecz dokonuje podstawiania wartości po stronie klienta. Atakujący może skonstruować specjalnie spreparowany payload dla wartości tekstowej, jeśli bezpośrednio przed jej placeholderem znajduje się placeholder wartości numerycznej poprzedzony znakiem minus, a oba placeholdery są w tej samej linii. Taka konstrukcja pozwala na wstrzyknięcie dowolnego kodu SQL, omijając ochronę zapewnianą standardowo przez zapytania parametryzowane.

Skutki

Atakujący może dowolnie modyfikować wykonywane zapytania SQL, co może prowadzić do nieautoryzowanego odczytu, modyfikacji lub usunięcia danych w bazie, a w zależności od uprawnień konta bazodanowego — nawet do przejęcia kontroli nad systemem bazodanowym.

Mitygacja

Należy zaktualizować pgjdbc do wersji 42.7.2, 42.6.1, 42.5.5, 42.4.4, 42.3.9 lub 42.2.28 (odpowiednio dla używanej gałęzi). Jeśli aktualizacja nie jest natychmiast możliwa, należy upewnić się, że aplikacja nie używa trybu PreferQueryMode=SIMPLE — tryb domyślny nie jest podatny na tę lukę.

Kogo dotyczy

PostgreSQL JDBC Driver (pgjdbc) w wersjach wcześniejszych niż 42.7.2, 42.6.1, 42.5.5, 42.4.4, 42.3.9 oraz 42.2.28, skonfigurowanych z opcją PreferQueryMode=SIMPLE.

Uwagi

Podatność dotyczy wyłącznie niestandardowej konfiguracji PreferQueryMode=SIMPLE. Domyślna konfiguracja sterownika pgjdbc nie jest zagrożona. Administratorzy powinni zweryfikować konfigurację swoich aplikacji przed podjęciem działań naprawczych.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • Fedora Project Fedora

    OS
    Fedoraproject
    40
  • PostgreSQL Jdbc Driver

    APP
    Postgresql
    42.3.0 – 42.3.9 (bez)42.4.0 – 42.4.4 (bez)< 42.2.2842.6.0 – 42.6.1 (bez)42.7.0 – 42.7.2 (bez)42.5.0 – 42.5.5 (bez)
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
Tagi
SQLi
CWE
Referencje

Powiązane podatności

CVE-2024-4577CRITICAL9.8⚠ KEVPL ✓ten sam produkt

PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit

CVE-2024-5274CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Type Confusion w V8 (Google Chrome) — RCE przez spreparowaną stronę HTML

CVE-2024-4947CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Type Confusion w silniku V8 Chrome — zdalne wykonanie kodu (RCE)

CVE-2024-4671CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Use-after-free w Google Chrome Visuals umożliwiający ucieczkę z sandbox

CVE-2023-6345CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Integer overflow w Skia w Google Chrome — sandbox escape