CVE-2026-23411Linux内核中的AppArmor模块存在一个安全漏洞,涉及释放数据与文件系统访问之间的竞态条件。该问题的根源在于AppArmor在从文件系统中移除条目后,过早地释放了对i_private数据的引用。然而,inode对象的生命周期可能比此操作更长,如果在引用释放后但inode被驱逐前,文件系统的回调函数被触发,就会尝试访问已被释放的内存区域。
该漏洞属于典型的释放后重用(UAF)类竞态条件。在AppArmor的实现中,当文件系统条目被移除时,代码立即对i_private中的数据(如rawdata/loaddata)执行了put操作,减少了引用计数。但是,内核inode的回收机制是异步的,inode对象可能仍然存在于内存中。此时,如果有其他操作(如文件访问回调)发生,就会访问已经释放的i_private数据。由于rawdata/loaddata的引用计数较低,最容易受到攻击。攻击者利用此漏洞可导致内核崩溃(拒绝服务)或潜在的权限提升。