欢迎user
PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS)。PostgreSQL JDBC(PgJDBC)是一个采用Java编写的开源JDBC驱动程序,允许Java程序使用标准的、独立于数据库的Java代码连接到PostgreSQL数据库,使用PostgreSQL自带的网络协议进行通信。近日,新华三攻防实验室威胁预警团队监测到PgJDBC官方发布了安全公告,修复了PostgreSQL中的一个SQL注入漏洞(CVE-2022-31197),攻击者可以利用该漏洞执行任意SQL语句。
该漏洞是由于PGJDBC的java.sql.ResultRow.refreshRow()方法没有对列名进行过滤,因此创建包含终止符号的恶意列名,例如“;”等时,可能会造成SQl注入。恶意攻击者通过创建包含终止符号的列名,从而能够在服务器上执行任意SQL命令。
在本地搭建postgres数据库服务,利用idea搭建受影响版本PGJDBC:
构造恶意数据进行sql注入:
打印时间间隔10秒,sql注入成功:
PostgreSQL JDBC Driver < 42.2.26
42.3.0 <= PostgreSQL JDBC Driver < 42.4.1
高危
目前官方已发布漏洞修复版本,请受影响的用户及时升级至安全版本以修复该漏洞,官方链接:https://jdbc.postgresql.org/download.html
1、H3C安全设备防护方案
新华三IPS规则库将在1.0.208版本支持对该漏洞的识别,H3C全系安全产品可通过升级IPS特征库识别该漏洞的攻击流量,并进行主动拦截。
2、态势感知产品解决方案
H3C态势感知产品已支持该漏洞的检测,通过信息搜集整合、数据关联分析等综合研判手段,发现网络中遭受该漏洞攻击及失陷的资产。
3、H3C云安全能力中心解决方案
H3C云安全能力中心知识库已更新该漏洞信息,可查询对应漏洞产生原理、升级补丁、修复措施等。
https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-r38f-c4h4-hqq2