CVE-2026-43078Linux内核的crypto子系统中的af_alg模块存在一处内存溢出漏洞。在af_alg_pull_tsgl函数执行页面重分配操作时,由于循环逻辑未正确更新,可能导致尝试重新分配比实际需求多一个的页面。该缺陷可能被本地攻击者利用,通过构造特制的请求触发内核堆越界写入,从而导致系统崩溃或权限提升。
漏洞原理位于`crypto/af_alg.c`的`af_alg_pull_tsgl`函数。该函数负责管理异步加密操作中的页分散列表。在引入页面重分配逻辑后,原循环的终止条件未做相应调整,导致存在“差一”错误。当特定条件满足时,循环会多执行一次,对未分配的页面指针进行操作,造成越界写入。攻击者需具备本地低权限账号。利用方式涉及创建AF_ALG类型的socket,设置加密算法类型,并通过sendmsg系统调用发送精心构造的数据流,以触发sgl(scatter-gather list)的调整逻辑。成功利用可破坏内核内存完整性,进而实现本地权限提升(LPE)。