CVE-2026-43160Linux内核的mfd: macsmc驱动组件中存在一个初始化缺陷漏洞。该问题的根本原因是在apple_smc_probe()函数执行期间,未能正确初始化apple_smc结构体中的互斥锁。这种未初始化的状态导致在子设备的探测函数调用apple_smc_read()时,会间歇性地触发空指针解引用错误。尽管该问题看起来影响有限,但本地低权限攻击者可能利用此漏洞破坏内核稳定性,导致系统崩溃或拒绝服务,从而严重影响系统的可用性。
该漏洞技术根源在于Linux内核驱动程序的开发逻辑错误。在macsmc驱动加载过程中,probe函数负责分配资源并初始化设备结构体,但遗漏了对mutex成员的mutex_init()调用。互斥锁是内核中用于保护临界区资源同步的重要机制,未初始化的互斥锁其内部指针(如wait_lock)可能为NULL或指向无效内存。当子设备初始化或用户态程序通过sysfs/设备接口发起读取请求时,会调用apple_smc_read函数,该函数尝试获取互斥锁(mutex_lock)。由于锁未初始化,内核在访问锁结构体内部字段时会触发空指针解引用异常。虽然CVSS向量显示机密性和完整性未受影响,但该异常会导致内核崩溃(Kernel Panic),从而使系统完全不可用。