Description
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.
Remediation
References
http://www.openwall.com/lists/oss-security/2024/04/02/6
https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-24rp-q3w6-vc56
https://lists.debian.org/debian-lts-announce/2024/05/msg00007.html
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TZQTSMESZD2RJ5XBPSXH3TIQVUW5DIUU/
https://security.netapp.com/advisory/ntap-20240419-0008/
https://www.enterprisedb.com/docs/jdbc_connector/latest/01_jdbc_rel_notes/
https://www.enterprisedb.com/docs/security/assessments/cve-2024-1597/
Related Vulnerabilities
CVE-2023-1454 Vulnerability in maven package org.jeecgframework.boot:jeecg-boot-common
CVE-2018-1002204 Vulnerability in maven package org.webjars:adm-zip
CVE-2021-21304 Vulnerability in npm package dynamoose
CVE-2023-30530 Vulnerability in maven package org.jenkins-ci.plugins:consul-kv-builder
CVE-2022-22880 Vulnerability in maven package org.jeecgframework.boot:jeecg-boot-base-core