GBase 8a
运维管理
文章

[CNNVD-2026-01846356] fulltext_mark函数栈溢出漏洞--漏洞处理

发表于2026-08-17 17:54:56216次浏览1个评论

一、概述

根据2026 年 4 月漏洞公告(https://www.gbase.cn/loophole/158) 数据库存在 fulltext_mark 函数栈溢出漏洞,漏斗影响范围:v9.5.2.45.7_patch.40 及之前版本、v9.5.3.27.21_patch.39 及之前版本、v9.5.3.28.39 及之前版本、v9.5.3.30.10 及之前版本。为解决漏洞问题,已给出修订版本: v9.5.2.45.7_patch.41、v9.5.3.27.21_patch.40、v9.5.3.28.40、v9.5.3.30.11。

二、问题复现

1、集群版本,以 v9.5.3.28.35 版本为例 image.png 2、集群信息 image.png

3、根据公告内容,使用示例语句进行复现:

示例语句:

select fulltext_mark('content','keyword','','',1,100,repeat('A',600)); image.png

image.png image.png 从执行结果、集群状态和system.log日志返回的信息,数据库确实发生宕机的问题,因为集群有启动保护机制,故会自动拉起宕机的集群。

三、解决办法

1、根据公告指示,临时绕行方案:当满足触发场景时,尽可能减少第七个参数的字节数,少于498 个字节。 image.png image.png

2、若项目未使用该函数,可选择删除函数规避该漏洞扫描 删除命令:DROP FUNCTION fulltext_mark; image.png image.png 3、若项目有使用到该函数,可跟gbase官方运维同事申请新版本依赖包,再create 建上,删除命令如上,创建如下: 将对应函数拷贝至gcluster($GCLUSTER_BASE/gcluster/server/lib/gbase/plugin/)和gnode($GNODE_BASE/gnode/server/lib/gbase/plugin/)对应目录下,然后创建软链接

ln -s libfulltext_udf.so.0.0.0 libfulltext_udf.so.0

ln -s libfulltext_udf.so.0.0.0 libfulltext_udf.so image.png

进入数据库,创建函数: image.png

验证结果: image.png 4、最终解决方案:联系GBase 售后人员获取解决漏洞的集群版本并升级 ,上面复现的版本的是9.5.3.28.35_patch.2.336fb4d,对应的,需要升级版本至 v953.28.40 以上版本方可解决问题: image.png image.png image.png image.png

验证fulltext_mark 函数栈溢出漏洞已解决。

评论

登录后才可以发表评论
GBase用户51829发表于 1个月前
已收藏,这个漏洞影响值得参考