一、漏洞详情
PostgreSQL JDBC Driver(简称PgJDBC)允许Java 程序使用标准的、独立于数据库的Java代码连接到PostgreSQL数据库。
近日,监测到PgJDBC中存在一个SQL注入漏洞(CVE-2024-1597)。PgJDBC受影响版本中,当使用简单查询模式(PreferQueryMode=SIMPLE,非默认模式)时存在SQL注入漏洞,当SQL绑定占位符带有(-)前缀时,负值的直接替换可能导致生成的标记被视为行注释(如:SELECT -?, ?),如果第一个数值占位符的参数值为负值(如 -1,-123等)且第二个字符串值占位符的参数中带有换行符的恶意文本可能导致命令执行。威胁者可利用该漏洞执行SQL注入攻击,成功利用该漏洞可能导致获取敏感信息或执行未授权操作等。
建议受影响用户做好资产自查以及预防工作,以免遭受黑客攻击。
二、影响范围
42.7.0<=PgJDBC版本< 42.7.2
42.6.0<=PgJDBC版本< 42.6.1
42.5.0<=PgJDBC版本< 42.5.5
42.4.0<=PgJDBC版本< 42.4.4
42.3.0<=PgJDBC版本< 42.3.9
PgJDBC版本< 42.2.8
三、修复建议
目前官方已经发布了该漏洞的补丁,受影响用户可应用补丁或待修复版本发布时升级到PgJDBC版本42.7.2、42.6.1、42.5.5、42.4.4、42.3.9 和 42.2.8。