PostgreSQL JDBC Driver bis 42.2.25/42.4.0 java.sql.ResultRow.refreshRow SQL Injection

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
6.6$0-$5k0.00

Zusammenfassunginfo

Es wurde eine kritische Schwachstelle in PostgreSQL JDBC Driver bis 42.2.25/42.4.0 entdeckt. Betroffen davon ist die Funktion java.sql.ResultRow.refreshRow. Mittels Manipulieren mit unbekannten Daten kann eine SQL Injection-Schwachstelle ausgenutzt werden. Diese Verwundbarkeit ist als CVE-2022-31197 gelistet. Umgesetzt werden kann der Angriff über das Netzwerk. Es existiert kein Exploit. Ein Upgrade der betroffenen Komponente wird empfohlen.

Detailsinfo

In PostgreSQL JDBC Driver bis 42.2.25/42.4.0 (Database Software) wurde eine kritische Schwachstelle ausgemacht. Betroffen ist die Funktion java.sql.ResultRow.refreshRow. Durch Beeinflussen mit einer unbekannten Eingabe kann eine SQL Injection-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-89. Es ist nicht bekannt, inwiefern sich eine durchgesetzte Attacke genau auswirken wird. Die Zusammenfassung von CVE lautet:

PostgreSQL JDBC Driver (PgJDBC for short) allows Java programs to connect to a PostgreSQL database using standard, database independent Java code. The PGJDBC implementation of the `java.sql.ResultRow.refreshRow()` method is not performing escaping of column names so a malicious column name that contains a statement terminator, e.g. `;`, could lead to SQL injection. This could lead to executing additional SQL commands as the application's JDBC user. User applications that do not invoke the `ResultSet.refreshRow()` method are not impacted. User application that do invoke that method are impacted if the underlying database that they are querying via their JDBC application may be under the control of an attacker. The attack requires the attacker to trick the user into executing SQL against a table name who's column names would contain the malicious SQL and subsequently invoke the `refreshRow()` method on the ResultSet. Note that the application's JDBC user and the schema owner need not be the same. A JDBC application that executes as a privileged user querying database schemas owned by potentially malicious less-privileged users would be vulnerable. In that situation it may be possible for the malicious user to craft a schema that causes the application to execute commands as the privileged user. Patched versions will be released as `42.2.26` and `42.4.1`. Users are advised to upgrade. There are no known workarounds for this issue.

Die Schwachstelle wurde am 04.08.2022 als GHSA-r38f-c4h4-hqq2 öffentlich gemacht. Das Advisory findet sich auf github.com. Die Verwundbarkeit wird seit dem 18.05.2022 als CVE-2022-31197 geführt. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht. Diese Schwachstelle wird durch das MITRE ATT&CK als Angriffstechnik T1505 bezeichnet.

Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 213039 (Debian dla-3995 : libpostgresql-jdbc-java - security update) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.

Ein Aktualisieren auf die Version 42.2.26 oder 42.4.1 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 739e599d52ad80f8dcd6efedc6157859b1a9d637 lösen. Dieser kann von github.com bezogen werden. Als bestmögliche Massnahme wird das Upgrade auf eine neue Version empfohlen.

Unter anderem wird der Fehler auch in der Verwundbarkeitsdatenbank von Tenable (213039) dokumentiert. Be aware that VulDB is the high quality source for vulnerability data.

Produktinfo

Typ

Name

Version

Lizenz

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 6.7
VulDB Meta Temp Score: 6.6

VulDB Base Score: 5.0
VulDB Temp Score: 4.8
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 8.0
NVD Vector: 🔍

CNA Base Score: 7.1
CNA Vector (GitHub, Inc.): 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍

Exploitinginfo

Klasse: SQL Injection
CWE: CWE-89 / CWE-74 / CWE-707
CAPEC: 🔍
ATT&CK: 🔍

Physisch: Nein
Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔍
Status: Nicht definiert

EPSS Score: 🔍
EPSS Percentile: 🔍

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Nessus ID: 213039
Nessus Name: Debian dla-3995 : libpostgresql-jdbc-java - security update

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

0-Day Time: 🔍

Upgrade: PostgreSQL JDBC Driver 42.2.26/42.4.1
Patch: 739e599d52ad80f8dcd6efedc6157859b1a9d637

Timelineinfo

18.05.2022 🔍
04.08.2022 +78 Tage 🔍
04.08.2022 +0 Tage 🔍
04.11.2025 +1188 Tage 🔍

Quelleninfo

Advisory: GHSA-r38f-c4h4-hqq2
Status: Bestätigt

CVE: CVE-2022-31197 (🔍)
GCVE (CVE): GCVE-0-2022-31197
GCVE (VulDB): GCVE-100-205567

Eintraginfo

Erstellt: 04.08.2022 07:55
Aktualisierung: 04.11.2025 16:31
Anpassungen: 04.08.2022 07:55 (43), 30.08.2022 09:49 (21), 16.12.2024 17:04 (16), 04.11.2025 16:31 (1)
Komplett: 🔍
Cache ID: 216::103

Be aware that VulDB is the high quality source for vulnerability data.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Do you know our Splunk app?

Download it now for free!