CVE-2026-0861CVE-2026-0861是GNU C Library (glibc) 2.30至2.42版本中的一个高危安全漏洞。该漏洞存在于memalign、posix_memalign和aligned_alloc等内存对齐分配函数中。当向这些函数传递过大的alignment参数时,可能导致整数溢出,进而引发堆损坏。攻击者需要同时控制size参数和alignment参数才能利用此漏洞,其中size参数需要接近PTRDIFF_MAX以触发与alignment参数的整数溢出。此漏洞的CVSS评分为8.4,属于高危级别,攻击向量为本地,无需认证和用户交互即可实现机密性和完整性影响。
该漏洞的核心问题在于memalign系列函数对alignment参数验证不足。当alignment参数过大时(例如接近1<<63),与size参数相加或相乘可能导致整数溢出。具体来说:1) 对于memalign函数,可利用的alignment范围为[1<<62+1, 1<<63];2) 对于posix_memalign和aligned_alloc函数,需要alignment恰好为1<<63。由于size参数必须接近PTRDIFF_MAX才能触发溢出,实际可利用的场景较为受限。攻击成功后可导致堆元数据损坏,可能实现任意代码执行或拒绝服务攻击。在典型应用中,alignment参数通常是已知且受约束的(如页大小、结构体大小),因此该漏洞在实践中不易被直接利用。