PostgreSQL JDBC Driver bis 42.2.25/42.4.0 java.sql.ResultRow.refreshRow SQL Injection
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 6.6 | $0-$5k | 0.00 |
Zusammenfassung
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.
Details
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.
Produkt
Typ
Name
Version
- 42.0
- 42.1
- 42.2
- 42.2.0
- 42.2.1
- 42.2.2
- 42.2.3
- 42.2.4
- 42.2.5
- 42.2.6
- 42.2.7
- 42.2.8
- 42.2.9
- 42.2.10
- 42.2.11
- 42.2.12
- 42.2.13
- 42.2.14
- 42.2.15
- 42.2.16
- 42.2.17
- 42.2.18
- 42.2.19
- 42.2.20
- 42.2.21
- 42.2.22
- 42.2.23
- 42.2.24
- 42.2.25
- 42.3
- 42.4.0
Lizenz
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 6.7VulDB 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.): 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: SQL InjectionCWE: 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-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Nessus ID: 213039
Nessus Name: Debian dla-3995 : libpostgresql-jdbc-java - security update
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: PostgreSQL JDBC Driver 42.2.26/42.4.1
Patch: 739e599d52ad80f8dcd6efedc6157859b1a9d637
Timeline
18.05.2022 🔍04.08.2022 🔍
04.08.2022 🔍
04.11.2025 🔍
Quellen
Advisory: GHSA-r38f-c4h4-hqq2Status: Bestätigt
CVE: CVE-2022-31197 (🔍)
GCVE (CVE): GCVE-0-2022-31197
GCVE (VulDB): GCVE-100-205567
Eintrag
Erstellt: 04.08.2022 07:55Aktualisierung: 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.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.