Ad · Leaderboard 728×90

CVE-2026-111441

8.1High

Published 19 Oct 2026 · NVD status: Received · AI triage by gemini-3.8-flash

8.1High
Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None
Impact
High impact on integrity, availability
Weakness
CWE-122

Impact

Authenticated database users can trigger a heap buffer overflow and corrupt server memory by passing malformed packed HLL data to functions like hll_in() or hll_cardinality(). Attackers need valid database login credentials and network access to the database instance.

Root cause

HllObjectUnpack() fails to verify that the allocated buffer size (lenTotal) is greater than or equal to the copy length (lenUsed), and it incorrectly passes lenUsed as the destination buffer capacity in memcpy_s().

Affected systems

openGauss-server 2.1.0, 3.0.x, 3.1.x, 5.0.x, 5.1.0, 6.0.x, and 7.0.0-RC1 through 7.0.0-RC3

CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H

Fix & remediation

Upgrade openGauss-server to 7.0.0-LTS or apply the fix from pull request 9380; if patching immediately is not possible, restrict network access to trusted database clients and revoke unnecessary user permissions on HLL functions.

shell
$ gaussdb --version

AI-suggested. Run it in staging first and check it against the vendor advisory. Why?

Ad · In-content banner

NVD 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 。

References

Source: nvd.nist.gov/vuln/detail/CVE-2026-111441

Ad · Sticky 320×50 / 728×90