关于PostgreSQL JDBC Driver SQL注入漏洞(CVE-2022-31197)的预警提示

发布时间:2022-08-26浏览次数:908

一、漏洞详情

PostgreSQL JDBC Driver(简称 PGJDBC)是一个用 Pure JavaType 4)编写的开源JDBC驱动程序,允许Java 程序使用标准的、独立于数据库的Java代码连接到 PostgreSQL 数据库。

PGJDBC被披露存在一个SQL注入漏洞(CVE-2022-31197)。由于java.sql.ResultRow.refreshRow()方法的PGJDBC实现没有对列名进行转义,因此当恶意列名中包含语句终止符,如“;”时在某些情况下可能导致SQL注入,成功利用此漏洞将能够以应用程序的JDBC用户身份执行SQL 命令。

建议受影响用户做好资产自查以及预防工作,以免遭受黑客攻击。

二、影响范围

PostgreSQL JDBC Driver < 42.2.26

42.3.0 <= PostgreSQL JDBC Driver < 42.4.1

注:不调用ResultSet.refreshRow()方法的用户应用程序不受影响。

三、修复建议

目前此漏洞已经修复,受影响用户可升级到PostgreSQL JDBC Driver 版本42.2.2642.4.1或更高版本。

下载链接:https://jdbc.postgresql.org/download.html