CVE-2026-43155Linux内核中的`mux:mmio`驱动组件存在一个内存泄漏漏洞。该问题的根本原因在于驱动程序探测(probe)过程中分配的`mmio regmap`资源未得到妥善管理。当探测操作失败(例如由于硬件依赖导致的探测延迟)或驱动程序解绑时,已分配的内存未能被释放。本地低权限攻击者可利用此缺陷,通过特定的操作触发该资源泄漏路径,长期运行可能导致系统内存耗尽,进而造成拒绝服务(DoS),严重影响系统可用性。
该漏洞发生在Linux内核的`drivers/mux/mmio.c`驱动文件中。`regmap`是Linux内核用于抽象寄存器访问的框架。在驱动的`probe`函数中,代码调用`devm_regmap_init_mmio`或类似的函数分配并初始化一个regmap结构体。然而,原始代码路径可能没有使用设备管理资源(devm),或者错误处理逻辑存在缺陷,导致在`probe`函数返回错误之前,没有手动释放已分配的regmap内存。
当探测失败时(例如`mux_control_alloc`失败或后续初始化出错),驱动卸载流程可能不会执行清理操作,或者执行顺序错误。攻击者可以通过反复加载和卸载受影响的驱动模块,或者在支持热插拔的系统中反复触发硬件探测动作,每次失败都会泄漏一定数量的内核内存。由于内核内存空间有限,持续的泄漏最终会耗尽系统内存,导致系统崩溃或无法为其他进程分配资源,从而实现本地拒绝服务攻击。