漏洞修复系列-如何升级linux系统Upgrade to PostgreSQL JDBC Driver version 42.2.27, 42.3.8, 42.4.3, 42.5.1, or later
问题
遇到一个PostgreSQL JDBC Driver漏洞
PostgreSQL JDBC Driver that is 42.2.x prior to 42.2.27, 42.3.x prior to 42.3.8, 42.4.x prior to 42.4.3 or 42.5.x prior to 42.5.1. It is, therefore, affected by an information disclosure vulnerability.
原因
PostgreSQL JDBC Driver在版本小于42.2.26和版本大于42.3.0小于42.4.1之间存在一个SQL注入漏洞,漏洞原因是由于java.sql.ResultRow.refreshRow()方法的PGJDBC实现没有执行列名的转义,因此如果列名包含语句终止符的恶意列名,例如";",可能导致 SQL 注入。
解决方案
升级 PostgreSQL JDBC Driver 到更高版本,Upgrade to PostgreSQL JDBC Driver version 42.2.27, 42.3.8, 42.4.3, 42.5.1, or later
下载PostgreSQL JDBC Driver包
我们可以从 jdbc.postgresql.org 下载 JDBC for PostgreSQL。点击这里直达
我使用下载jar包的方式,小伙伴们也可以根据项目需求去看下面提示修改代码
点击下载
将包上传到服务器
我们可以使用一些工具进行上传,或者直接在服务器目录下执行命令去下载这个包
查找原有漏洞包所在路径
/var路径可根据需求进行更改
sudo find /var -name "postgresql-*.jar"
执行命令后,我们可以看到,系统找到了两个jar包,一个是我们上传的,一个是原有有问题的包
[XXXXXXX_USER_01@XXXXXXXX ~]$ sudo find /var -name "postgresql-*.jar"
[sudo] password for XXXXXXXX_USER_01:
/var/lib/XXXXXXXXXXXXXXXXXXXXXXXXXXX/lib/jdbc/postgresql/postgresql-42.3.1.jar
/var/local/XXX/jdbc/postgresql-42.5.1.jar
解决漏洞
我们进入有问题包的路径,把这个包删掉,然后替换为我们的新包,就可以啦~
- 今天就写到这里啦~
- 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
- 大家要天天开心哦
欢迎大家指出文章需要改正之处~
学无止境,合作共赢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决