IPBUF安全漏洞报告
English
CVE-2026-43149 CVSS 5.5 中危

CVE-2026-43149: Linux内核fsl_ucc_hdlc双重释放漏洞

披露日期: 2026-05-06
来源: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

漏洞信息

漏洞编号
CVE-2026-43149
漏洞类型
双重释放
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux KernelDouble FreeDoS内存破坏本地漏洞

漏洞概述

Linux内核中的fsl_ucc_hdlc驱动程序存在一个内存释放漏洞。问题出在uhdlc_init函数中,priv->rx_buffer和priv->tx_buffer被作为一个连续的缓冲区整体分配,但在uhdlc_memclean清理函数中,却错误地对这两个部分分别调用了dma_free_coherent进行释放。这种分配与释放的不匹配导致了双重释放问题,可能引发内核内存破坏、系统崩溃或潜在的权限提升风险。

技术细节

该漏洞源于Linux内核驱动fsl_ucc_hdlc中DMA缓冲区管理逻辑的错误。在初始化阶段uhdlc_init中,代码使用dma_alloc_coherent一次性分配了一块较大的连续内存区域,分别将priv->rx_buffer指向该区域的起始位置,priv->tx_buffer指向该区域内的某个偏移位置。这意味着它们共享同一块物理内存页。然而,在清理阶段uhdlc_memclean中,代码错误地认为这两个缓冲区是独立分配的,分别对priv->rx_buffer和priv->tx_buffer调用了dma_free_coherent。第一次调用会正确释放整个内存块,但第二次调用时,内核会尝试释放一个已经释放的内存地址。这种“双重释放”操作会破坏内核的SLAB分配器元数据,导致内核内存管理混乱。攻击者需具备本地低权限账户即可触发该路径,通过特定的设备操作诱导驱动进入清理流程,从而造成系统内核崩溃(DoS)或在特定条件下尝试进行更复杂的内存破坏攻击。

攻击链分析

STEP 1
步骤1:获取本地访问权限
攻击者获得目标Linux系统的本地低权限用户访问(PR:L)。
STEP 2
步骤2:加载或接触驱动
确认系统加载了fsl_ucc_hdlc内核模块,攻击者拥有操作相关设备节点的权限。
STEP 3
步骤3:触发漏洞路径
攻击者通过特定的系统调用或设备操作,触发驱动的初始化及随后的清理流程(uhdlc_memclean)。
STEP 4
步骤4:内存破坏
清理函数执行错误的内存释放逻辑,导致内核双重释放,破坏内存管理器,引发系统崩溃(DoS)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC Concept for CVE-2026-43149 * This demonstrates the allocation/deallocation logic error. */ #include <stdlib.h> #include <string.h> struct buffer { char *rx; char *tx; }; void vulnerable_init(struct buffer *priv, size_t size) { // Allocate one contiguous buffer for both RX and TX priv->rx = (char *)malloc(size * 2); priv->tx = priv->rx + size; // Offset for TX } void vulnerable_cleanup(struct buffer *priv) { // Bug: Freeing the RX buffer (which frees the whole block) free(priv->rx); // Bug: Attempting to free TX again (Double Free) free(priv->tx); } int main() { struct buffer priv; vulnerable_init(&priv, 1024); vulnerable_cleanup(&priv); // Triggers double free corruption return 0; }

影响范围

Linux Kernel < 6.9
Linux Kernel < 6.6
Linux Kernel < 6.1
Linux Kernel < 5.15
Linux Kernel < 5.10

防御指南

临时缓解措施
建议尽快升级Linux内核至包含该补丁的版本。如果无法立即升级,应禁用fsl_ucc_hdlc驱动模块(通过modprobe blacklist或从initramfs中移除),并严格限制本地用户权限以降低被攻击的可能性。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表