欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 漏洞修复20250405:PostgreSQL数据库小版本升级

漏洞修复20250405:PostgreSQL数据库小版本升级

2025/5/3 17:52:02 来源:https://blog.csdn.net/qq_36213352/article/details/147011448  浏览:    关键词:漏洞修复20250405:PostgreSQL数据库小版本升级

背景描述

安全检测发现,老项目使用的PostgreSQL 13.8数据库存在多个可利用安全漏洞,这既威胁数据库稳定性,又带来数据窃取、篡改风险。为规避严重后果,建议立即安排修复。

漏洞列表

危险程度漏洞描述修复建议
高危PostgreSQL JDBC Driver是一个用 Pure Java(Type 4)编写的开源 JDBC 驱动程序,用于 PostgreSQL 本地网络协议中进行通信。 PostgreSQL JDBC Driver(简称 PgJDBC)存在安全漏洞,该漏洞源于pgjdbc连接属性提供的类名实例化插件实例,驱动程序在实例化类之前并不验证类是否实现了预期的接口从而导致远程代码执行。将 PostgreSQL JDBC 升级到 42.2.25、42.3.2 及以上版本,下载地址:https://jdbc.postgresql.org/download/
高危PostgreSQL JDBC Driver是一个用 Pure Java(Type 4)编写的开源 JDBC 驱动程序,用于 PostgreSQL 本地网络协议中进行通信。 PostgreSQL JDBC Driver(简称 PgJDBC)存在安全漏洞,由于java.sql.ResultRow.refreshRow()方法没有执行列名的转义,因此包含语句终止符的恶意列名可能导致 SQL 注入。攻击者利用该漏洞可以以应用程序的 JDBC 用户身份执行其他 SQL 命令。将 PostgreSQL JDBC 升级到 42.2.26、42.3.7、42.4.1 及以上版本,下载地址:https://jdbc.postgresql.org/download/
高危PostgreSQL JDBC Driver是一个用 Pure Java(Type 4)编写的开源 JDBC 驱动程序,用于 PostgreSQL 本地网络协议中进行通信。 PostgreSQL JDBC Driver(简称 PgJDBC)存在安全漏洞,当将非默认连接属性preferQueryMode=simple与具有否定参数值的易受攻击的 SQL 的应用程序代码结合使用时,可能会发生 SQL 注入。将 PostgreSQL JDBC 升级到 42.2.28、42.3.9、42.4.4、42.5.5、42.6.1、42.7.2 及以上版本,下载地址:https://jdbc.postgresql.org/download.html
高危PostgreSQL是PostgreSQL组织的一套自由的对象关系型数据库管理系统。该系统支持大部分SQL标准并且提供了许多其他特性,例如外键、触发器、视图等。 PostgreSQL存在安全漏洞,该漏洞源于pg_dump的Time-of-check和Time-of-use存在竞争条件,允许攻击者执行任意SQL函数。将 PostgreSQL 升级到 12.20、13.16、14.13、15.8、16.4 及以上版本,下载地址:https://www.postgresql.org/download/

​漏洞修复

结合漏洞列表可以知道,修复漏洞需要升级:

  1. 升级PostgreSQL13.8版本到最新小版本(PostgreSQL13.20)。
  2. 升级SpringBoot项目中的PostgreSQL JDBC版本。

数据库小版本升级

可以直接安装最新小版本,无需数据迁移。操作步骤如下:

对于PostgreSQL的版本升级是否需要直接安装最新版本,需根据升级类型(小版本/主版本)​和数据兼容性综合判断。以下是具体分析:


​在线升级(如13.8 → 13.20)​

可以直接安装最新小版本,无需数据迁移。操作步骤如下:

  • 停止服务:
# 停止数据库
systemctl stop postgresql.service 
sudo systemctl stop postgresql-13 
  • ​更新软件包:
# 安装数据库
sudo yum install -y postgresql13-server
  • 重启服务:
# 启动数据库 
systemctl start postgresql.service
sudo systemctl start postgresql-13 

​验证:执行psql -V和SELECT version()确认版本。

注意事项:

  • 小版本间存储格式兼容,仅需替换二进制文件。
  • 建议备份数据(如pg_dumpall)以应对意外。

离线升级(如13.8 → 13.20)

下载安装包
yumdownloader --resolve postgresql13-server

在这里插入图片描述

安装数据库
# 停止数据库 
systemctl stop postgresql-13 
# 强制安装当前文件夹中所有的rpm包,忽略依赖去安装 
rpm -Uvh *.rpm --nodeps --force 
# 启动数据库 
systemctl start postgresql-13
查看版本

可以看见版本已经升级到13.20了
在这里插入图片描述

升级SpringBoot项目中JDBC

修改springboot的pom.xml文件,升级版本如下所示:

        <dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><version>42.7.4</version></dependency>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词