CVE-2026-111441
Received Received - Intake

Heap Buffer Overflow in openGauss-server HLL Unpacking

Vulnerability report for CVE-2026-111441, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-19

Last updated on: 2026-10-19

Assigner: openGauss Community

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 。

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-19
Last Modified
2026-10-19
Generated
2026-10-19
AI Q&A
2026-10-19
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 6 associated CPEs
Vendor Product Version / Range
openGauss-server openGauss-server 7.0.0-RC1, 7.0.0-RC2 7.0.0-RC3
openGauss-server openGauss-server 2.1.0
openGauss-server openGauss-server 3.0.0-3.0.6
openGauss-server openGauss-server 3.1.0
openGauss-server openGauss-server 5.0.0-5.0.5
openGauss-server openGauss-server 6.0.0-6.0.6

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-122 A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a heap out-of-bounds write flaw in openGauss-server's HllObjectUnpack() function. It occurs when parsing user-provided packed HLL data, where the function fails to validate that lenTotal is greater than or equal to lenUsed. This allows attackers to trigger memory corruption by supplying malformed data with lenTotal smaller than lenUsed.

Detection Guidance

This vulnerability involves a heap out-of-bounds write in openGauss-server's HLL unpacking function. Detection requires checking if your openGauss-server version is affected (2.1.0 to 7.0.0-RC3). Use 'SELECT version();' in SQL to check the version. Monitor for crashes or memory corruption in database processes.

Impact Analysis

An attacker with database connection privileges can exploit this to perform heap-based buffer overflows. This may lead to crashes, arbitrary code execution, or privilege escalation on the server. The attack requires only a crafted packed HLL input via SQL functions like hll_in().

Compliance Impact

This vulnerability enables memory corruption through heap-based out-of-bounds writes, which could allow unauthorized data access or modification. Such risks may violate GDPR's integrity and confidentiality requirements (Article 32) and HIPAA's security rule for protecting electronic protected health information (ePHI).

Mitigation Strategies

Upgrade to openGauss-server 7.0.0-LTS or later, which includes the fix for the HLL unpacking function. If immediate upgrade is not possible, restrict database user access to prevent exploitation via crafted HLL inputs.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-111441. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart