Evidence used
- No CISA KEV confirmation is currently recorded.
- A structured source references public exploit or proof-of-concept material.
- EPSS is 2.23% for the current model date.
BlackTreeCVE Intelligencepgjdbc · pgjdbc
Official source article: GitHub GHSA-R38F-C4H4-HQQ2 ↗. Check the applicable product and release in the original source.
High technical severity with public exploit material referenced by a structured source; prioritise exposed affected systems while verifying vendor guidance.
Alpine, Debian, ubuntu findings are scoped to the named distribution, release and source package. An absent finding does not mean a package is unaffected.
A published vendor fix does not prove that a matching update is enabled and installable on a particular asset. Confirm the local package candidate before scheduling remediation.
| Distribution release | Source package | Vendor state | Fixed version | Evidence |
|---|---|---|---|---|
| Alpine v3.23v3.23 · community | java-postgresql-jdbc | Vendor fix publishedAlpine records a security fix at this version. An absent entry does not mean the package is unaffected. | 42.4.2-r0 | Alpine Security Database ↗Source updated 11 Sep 2026 |
| Alpine v3.22v3.22 · community | java-postgresql-jdbc | Vendor fix publishedAlpine records a security fix at this version. An absent entry does not mean the package is unaffected. | 42.4.2-r0 | Alpine Security Database ↗Source updated 11 Sep 2026 |
| Alpine v3.21v3.21 · community | java-postgresql-jdbc | Vendor fix publishedAlpine records a security fix at this version. An absent entry does not mean the package is unaffected. | 42.4.2-r0 | Alpine Security Database ↗Source updated 19 Aug 2026 |
| Debian trixietrixie · source | libpgjava | Vendor fix publishedDebian records a fixed source-package version for this release. | 42.4.1-1 | Debian Security Tracker ↗Source updated 6 Oct 2026 |
| Debian bookwormbookworm · source | libpgjava | Vendor fix publishedDebian records a fixed source-package version for this release. | 42.4.1-1 | Debian Security Tracker ↗Source updated 6 Oct 2026 |
| Debian forkyforky · source | libpgjava | Vendor fix publishedDebian records a fixed source-package version for this release. | 42.4.1-1 | Debian Security Tracker ↗Source updated 6 Oct 2026 |
| Debian sidsid · source | libpgjava | Vendor fix publishedDebian records a fixed source-package version for this release. | 42.4.1-1 | Debian Security Tracker ↗Source updated 6 Oct 2026 |
| Ubuntu 24.04 LTSnoble · standard archive | libpgjava | Under evaluationCanonical reports that the package might be affected and still needs evaluation or fixing. | Not published in this feed | Canonical Ubuntu Security ↗Source updated 5 Oct 2026 |
These OSV and GitHub advisory ranges apply only to the named package and ecosystem. A listed fixed version is not a universal product patch or proof that an update is installed.
| Ecosystem and package | Affected range | First fixed version | Evidence |
|---|---|---|---|
| Mavenorg.postgresql:postgresql | ECOSYSTEM: introduced 0; fixed 42.2.26 | 42.2.26 | OSV record ↗aggregator derived · 10 Sep 2026 |
| Mavenorg.postgresql:postgresql | ECOSYSTEM: introduced 42.4.0; fixed 42.4.1 | 42.4.1 | OSV record ↗aggregator derived · 10 Sep 2026 |
| Mavenorg.postgresql:postgresql | ECOSYSTEM: introduced 42.3.0; fixed 42.3.7 | 42.3.7 | OSV record ↗aggregator derived · 10 Sep 2026 |
| mavenorg.postgresql:postgresql | < 42.2.26 | 42.2.26 | GitHub advisory ↗upstream repository advisory · 4 Nov 2025 |
| mavenorg.postgresql:postgresql | >= 42.4.0, < 42.4.1 | 42.4.1 | GitHub advisory ↗upstream repository advisory · 4 Nov 2025 |
| mavenorg.postgresql:postgresql | >= 42.3.0, < 42.3.7 | 42.3.7 | GitHub advisory ↗upstream repository advisory · 4 Nov 2025 |
Structured product status and remediation from the issuing vendor. Product-state explanations are always visible; large lists can be searched or downloaded.
The vendor explicitly identifies these products as affected by this CVE.
High technical severity with public exploit material referenced by a structured source; prioritise exposed affected systems while verifying vendor guidance.
Patch availablePostgreSQL 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.
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.
Attacker-controlled data is not kept separate from SQL query syntax, allowing the intended database operation to be changed.
An attacker operating through a network path may attempt exploitation with low privileges. If successful, the issue may execute code or commands in the affected security context.
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.
Attacker-controlled data is not kept separate from SQL query syntax, allowing the intended database operation to be changed.
An attacker operating through a network path may attempt exploitation with low privileges. If successful, the issue may execute code or commands in the affected security context.
CVSS severity, EPSS forecast probability, public exploit material and CISA-confirmed exploitation are separate signals.
No CISA KEV match was present at the last successful refresh. This means no confirmation from that source, not proof of no exploitation.
A structured CVE source labels at least one public reference as exploit material. BlackTree has not independently validated that it is safe, reliable or weaponised.
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'). The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:HCommon Vulnerability Scoring System 3.1: the compact vector below is decoded into plain language.
Operational remediation based on structured source evidence.
Published 3 Aug 2022 · Last source change 3 Nov 2025, 21:46 UTC · CWE-89 · Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Core structured fields are present and their contributing authorities are shown above.