openGauss: Heap out-of-bounds write in packed HLL unpacking
Summary
The HllObjectUnpack() function in openGauss-server, used for packed HLL (HyperLogLog) values, does not check that lenTotal is at least lenUsed. The safe copy also uses the wrong destination size. An authenticated database user who supplies a malformed packed HLL, for example via ::hll and hll_in(), can trigger a heap out-of-bounds write on the database server. The CVSS vector rates integrity and availability as high and confidentiality as none, so the main risk is memory corruption and a crash. Exploitation is not known, and no public PoC was found.
Affected
- openGauss-server 2.1.0
- openGauss-server 3.0.0 to 3.0.6
- openGauss-server 3.1.0 (the CNA description also names 3.1.x; treat all 3.1.x builds as affected until the vendor clarifies)
- openGauss-server 5.0.0 to 5.0.5
- openGauss-server 5.1.0 (named in the CNA description, not in the product table; treat as affected until the vendor clarifies)
- openGauss-server 6.0.0 to 6.0.6
- openGauss-server 7.0.0-RC1, 7.0.0-RC2, 7.0.0-RC3
Fixed in
- openGauss-server 7.0.0-LTS (marked unaffected by the CNA)
- Unknown: no fixed patch versions are known for 2.1.0, 3.0.x, 3.1.x, 5.0.x, 5.1.0, 6.0.x or the 7.0.0-RC builds. Do not assume a backport exists; ask the vendor.
Workaround
Unknown. No vendor workaround is documented. Interim measures (not vendor guidance):
- Restrict database accounts to trusted users.
- Limit who can create or use the hll type.
- Keep the database off untrusted networks.
Exploitation
- Not known to be exploited; not listed in CISA KEV; EPSS below 1%.
- CISA SSVC (ADP Vulnrichment): exploitation none, automatable no.
- No public PoC found in our searches; this does not prove none exists.
- Requires an authenticated database connection (PR:L).
Our recommendation
- Confirm the exact deployed openGauss version, including RC and patch level.
- For affected versions, plan an upgrade to 7.0.0-LTS and review the fix in PR #9380.
- Until upgraded, restrict database accounts to trusted users and limit use of the hll type.
- Keep the database reachable only from internal networks.
- Monitor database logs for crashes or unusual hll input.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- Fix pull request #9380 (GitCode) gitcode.com
- VulDB entry 422241 vuldb.com
- Strix CVE-2026-111441 www.strix.ai
- ThreatINT CVE-2026-111441 cve.threatint.com
- OpenCVE CVE-2026-111441 app.opencve.io
- Vulners CVE-2026-111441 vulners.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 18:45.
Original description (NVD)
在 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 。
NVD references (1)
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
