CVE-2026-31597Linux内核中的ocfs2文件系统驱动存在释放后重用漏洞。在ocfs2_fault()处理页面错误时,若filemap_fault()返回VM_FAULT_RETRY,可能会导致mmap锁暂时释放。此时并发执行的munmap()可释放vm_area_struct,使得原函数中的指针悬空,引发UAF。攻击者可利用此漏洞导致系统崩溃或权限提升。
该漏洞发生在ocfs2文件系统的缺页异常处理流程中。当ocfs2_fault()调用filemap_fault()时,后者可能在I/O期间通过lock_folio_maybe_drop_mmap()释放mmap锁并返回VM_FAULT_RETRY。此时若并发线程调用munmap(),会通过RCU机制释放vm_area_struct。由于ocfs2_fault()在锁释放前保存了vma指针,恢复执行后访问该指针即发生Use-After-Free。修复方案是在锁释放前保存ip_blkno整数值而非vma指针。攻击者可通过控制时序触发该竞态条件,利用内核内存破坏实现本地提权或拒绝服务。