CVE-2026-43126该漏洞存在于Linux内核的ALSA OSS mixer层中。由于OSS mixer层对kcontrol操作的调用是独立进行的,在设备断开连接时,可能无法捕获所有待处理的调用。这种竞态条件可能导致潜在的释放后重用(UAF)场景,攻击者可利用此漏洞破坏系统内存。为修复此问题,开发人员在OSS mixer访问的每个入口点添加了设备断开的健全性检查,通过在检查前获取rwsem来确保上下文的安全性,从而防止在设备断开后仍访问已释放的内存资源。
该漏洞的根本原因在于Linux内核ALSA子系统中OSS(Open Sound System)mixer层的并发处理机制存在缺陷。当音频设备被移除或驱动程序卸载时,内核会执行断开连接的操作,释放相关的内存结构体(如card结构)。然而,OSS mixer层对kcontrol(内核控制)操作的调用是独立进行的,且缺乏足够的同步保护来阻止这些操作在设备断开过程中继续执行。具体的利用原理涉及一个竞态条件:攻击者可以利用本地低权限用户身份,触发OSS mixer的ioctl操作(如读取或修改混音器设置)。如果在设备断开逻辑已经开始并释放了关键内存之后,这些待处理的kcontrol回调函数仍然试图访问该内存,就会发生释放后重用(UAF)。由于rwsem(读写信号量)是在检查之前获取的,理论上保护了后续代码,但在修补前的版本中,缺少显式的断开状态检查。攻击者通过精心构造时序,利用UAF漏洞可以读写已释放的内核内存,进而提升权限至Root或导致内核崩溃(DoS)。