CVE-2026-111441 Details
Description
在 openGauss-server 的 src/gausskernel/cbb/utils/hll/hll.cpp 中,内置函数 HllObjectUnpack() 存在长度校验缺陷。该函数从用户提供的 packed HLL 解析 lenUsed 与 lenTotal 后,仅检查输入长度足以覆盖 HLL_HEAD_SIZE + lenUsed,随后按 lenTotal 分配缓冲区、按 lenUsed 调用 memcpy_s() 拷贝输入,既未校验 lenTotal >= lenUsed,也将 memcpy_s() 目标大小写成 lenUsed 而非实际分配的 lenTotal,导致安全拷贝无法拦截越界写。hll_in()、hll_print()、hll_cardinality() 等 SQL 入口会走同一解包路径。因此,普通数据库连接用户只需构造 lenTotal 小于 lenUsed 的畸形 packed HLL(例如经 ::hll 进入 hll_in()),即可触发服务端堆越界写,存在内存破坏风险。此问题随 packed HLL 解包函数 HllObjectUnpack() 进入代码,v2.1.0 起即存在。受影响版本包括 2.1.0、3.0.x、3.1.x、5.0.x、5.1.0、6.0.x,以及 7.0.0-RC1、7.0.0-RC2、7.0.0-RC3。该问题已在 7.0.0-LTS 版本修复,通过在 HllObjectUnpack() 中补齐 lenUsed <= lenTotal 校验,并将 memcpy_s() 的目标大小改为实际分配的 lenTotal。修复 PR 见 https://gitcode.com/opengauss/openGauss-server/pull/9380 。
A heap buffer overflow vulnerability has been identified in openGauss Server versions 2.1.0, 3.0.x, 3.1.x, 5.0.x, 5.1.0, 6.0.x, and the release candidates 7.0.0-RC1, 7.0.0-RC2, and 7.0.0-RC3. The issue arises in the HllObjectUnpack() function within the HLL (HyperLogLog) utility file. The vulnerability is caused by inadequate length validation when the function unpacks user-provided packed HLL data. Specifically, the function fails to ensure that the total length is greater than or equal to the used length before allocating a buffer and copying the data. This oversight allows for the creation of malformed packed HLLs that, when processed through certain SQL entry points, can trigger a heap-based buffer overflow, leading to potential memory corruption.
Users can upgrade to openGauss Server version 7.0.0-LTS, where this vulnerability has been fixed by adding the necessary length checks and correcting the buffer size used in the memcpy_s() function.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Oct 19, 2026CISA-ADP
Assessed Oct 19, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://gitcode.com/opengauss/openGauss-server/pull/9380 | openGauss Community | Source CodeVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-122 | Heap-based Buffer Overflow | openGauss Community |
Affected Products
| Product | Versions |
|---|---|
| openGauss-server | 2.1.0 (semver) ~3.0 ~3.1 ~5.0 5.1.0 (semver) ~6.0 7.0.0-RC1 (semver) 7.0.0-RC2 (semver) 7.0.0-RC3 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Oct 19, 2026 | CVE Modified | CISA-ADP |
| Oct 19, 2026 | New CVE Received | openGauss Community |
Volerion