首批通过分布式安全可靠测评,为关键业务系统打造
ob_gcvt_opt 函数对 65536 进行越界设置导致 core
更新时间:2026-06-04 09:56
问题现象
ob_gcvt_strict 函数在写入数组时,发生内存写坏问题。
问题原因
ob_gcvt_strict 函数在写入数组时,会在尾部补充 '\0',在某种场景下该尾部位于数组的合法区域外。
问题的风险及影响
内存写坏问题,隐含风险较大。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
影响的版本
OceanBase 数据库企业版 V2.2.77 GA(oceanbase-2.2.77-20210508211731)及之后版本、V3.1.2 GA(oceanbase-3.1.2-20210618150922)及之后版本、V3.2.3 GA(oceanbase-3.2.3.0-20220418212020)及之后版本、V3.2.4 GA(oceanbase-3.2.4.0-100000072022102819)及之后版本。
解决方法及规避方式
在尾部写入 '\0' 时进行检测,如果超出则不进行写入,并通过返回 0 来告知上层函数。