暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

PostgreSQL安全告警,国产数据库是不是该行动了

原创 梧桐 2024-11-27
900

一、安全告警

2024年11月18日,PostgreSQL全球开发组发布了针对所有受支持的PostgreSQL版本的重要安全更新。支持的版本包括17.1、16.5、15.9、14.14、13.17和12.21。解决了近几个月报告的4个安全漏洞和超过35个错误。其中“CVE-2024-10979”PL/Perl环境变量漏洞较为严重,该漏洞允许非特权数据库用户修改敏感的进程环境变量,从而可能导致任意代码执行。影响版本12至17。

此外,PostgreSQL开发人员将此更新作为PostgreSQL 12的最终版本发布,这标志着对PostgreSQL 12支持的结束。强烈建议在生产环境中运行PostgreSQL 12的用户升级到更新的受支持版本,以确保持续的安全性和错误修复,以减轻潜在的安全风险。

针对上述漏洞与更新,基于PostgreSQL国产数据库分支是否存在的同样的漏洞,是否已做处理?不得而知,需要查询各家产品公告并验证。同时,针对开发组对于PostgreSQL 12支持的结束,可能导致低于12的版本的PostgreSQL漏洞无法或很难修补,新特性无法实现。那么,国产品的PostgreSQL分支版本都有哪些呢?我们对各官方发布的公开的最新版本做了测试分析:

二、判别分支版本的方法

1. #select version();
2. #SELECT setting FROM pg_settings WHERE name = 'server_version';
3. $./cat path/to/data/PG_VERSION

注意:不限于上述方法,path/to/data为数据存放的目录,“pg_”可能由于分支魔改原因需要修改

三、判别记录

KingbaseES9

test=# select version(); version \------------------------------------------------------------------------------------------------------------ KingbaseES V009R001C001B0030 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit (1 row) test=# SELECT setting FROM pg_settings WHERE name = 'server_version'; setting \--------- 12.1 (1 row)

HighGo6.0

highgo=# select version(); version \--------------------------------------------------- HighGo Database 6 Release 6.0.4-64-bit Production (1 row) highgo=# SELECT setting FROM pg_settings WHERE name = 'server_version'; setting \--------- 12.7 (1 row)

UXDB10.0

uxdb=# select version(); version \------------------------------------------------------------------------------\ UXsinoDB v10.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit (1 row) uxdb=# SELECT setting FROM ux_settings WHERE name = 'server_version'; setting --------- 15.1 (1 row)

OpenGauss6

openGauss=# select version(); version ------------------------------------------------------------------------------------------------------------- (openGauss 6.0.0 build aee4abd5) compiled at 2024-09-29 18:38:08 commit 0 last mr on x86_64-unknown-linux-gnu, compiled by g++ (GCC) 10.3.0, 64-bit(1 row) openGauss=# SELECT setting FROM pg_settings WHERE name = 'server_version'; setting --------- 9.2.4 (1 row)

PolarDB15

postgres=# SELECT VERSION(); version ------------------------------------------------------------------------------------------------------------- PostgreSQL 15.8 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit (1 row) postgres=# SELECT setting FROM pg_settings WHERE name = 'server_version'; setting --------- 15.8 (1 row)

AntDB v7.2.24

antdb=# select version(); version ----------------------------------------------------------------------------- PostgreSQL 13.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 9.5.0, 64-bit (1 row) antdb=# SELECT setting FROM pg_settings WHERE name = 'server_version'; setting --------- 13.3 (1 row)

EDB-AS16

edb=# select version(); version ------------------------------------------------------------------------------------------ PostgreSQL 16.3 (EnterpriseDB Advanced Server 16.3.0) on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit (1 row) edb=# SELECT setting FROM pg_settings WHERE name = 'server_version'; setting --------- 16.3.0 (1 row)

四、结论分析

KingbaseES9内核版本为pg 12.1

HighGo6.0内核版本为pg 12.7

UXDB10.0内核版本为pg15.1

OpenGauss6内核版本为pg 9.2.4

PolarDB15内核版本为pg 15.8

AntDB v7.2.24内核版本为pg 13.3

EDB-AS16内核版本为pg 16.3

建议低于12版本数据库应将数据库内核升级到postgresql12以上,高于12版本的数据库宜跟踪CVE、CWE及PostgreSQL安全公告,做好漏洞缓解、修复、升级、验证、以及公告等工作(个别已做较大改动的,且已提供了相关漏洞处置方案的分支产品除外),以避免安全事件发生。

五、参考

业内通告:https://cybersecuritynews.com/postgresql-security-update-patch-for-multiple-vulnerabilities/

PostgreSQL公告:https://www.postgresql.org/support/security/

CVE公告:https://www.cvedetails.com/version-list/336/575/1/Postgresql-Postgresql.html

最后修改时间:2025-11-23 15:50:29
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论