CVE-2025-71075CVE-2025-71075是Linux内核中aic94xx SCSI主机适配器驱动的一个高危安全漏洞,CVSS评分7.8。该漏洞存在于设备的移除路径中,由于asd_pci_remove()函数在释放asd_ha结构之前未能正确同步pending状态的tasklets,导致潜在的use-after-free条件。当系统触发设备热拔插或模块卸载操作时,会在asd_ha结构的分配和释放之间产生竞态条件。攻击者可以通过精心构造的设备移除操作序列,在tasklet仍在访问已释放内存时触发内核崩溃或实现权限提升。此漏洞影响所有使用aic94xx驱动的Linux系统,需要本地低权限即可利用,无需用户交互。
该漏洞的根本原因在于Linux内核aic94xx驱动的设备移除处理逻辑存在缺陷。在asd_pci_remove()函数执行设备清理时,代码直接释放了asd_ha结构(PCI适配器主机结构),但此时可能仍有tasklet(延迟执行的工作任务)在引用该结构。aic94xx驱动使用tasklet机制处理中断和异步I/O操作,当设备被移除时,如果tasklet尚未完成执行就被中断,而对应的内存已被释放,则会产生use-after-free漏洞。攻击者可通过反复执行设备热拔插操作或触发模块卸载来增加触发漏洞的概率。修复方案是在释放asd_ha结构之前调用tasklet_kill()函数,确保所有已调度的tasklets完成执行后再进行内存释放操作,从而消除竞态条件窗口。