CVE-2026-43127Linux内核的ntfs3驱动程序中存在一个循环锁定依赖漏洞。该漏洞是由于`ntfs_extend_mft`和`run_unpack_ex`函数对`wnd->rw_lock`和`ni->file.run_lock`锁的获取顺序不一致导致的AB-BA死锁。本地低权限攻击者可利用此条件触发死锁,导致系统挂起或崩溃,从而造成拒绝服务。
该漏洞的核心在于锁的获取顺序不一致。在路径1中,`ntfs_extend_mft`先获取`ni->file.run_lock`,然后获取`wnd->rw_lock`。在路径2中,`run_unpack_ex`先持有`wnd->rw_lock`,随后在调用`ntfs_refresh_zone`时尝试获取`ni->file.run_lock`。当这两个操作并发发生时,线程A持有锁1等待锁2,线程B持有锁2等待锁1,形成死锁。由于CVSS向量显示可用性影响为高(A:H),这会导致系统内核资源耗尽或完全停止响应。修复方案是通过使用`down_read_trylock()`非阻塞方式获取锁,在锁被占用时跳过刷新操作,从而避免在持有`wnd->rw_lock`时阻塞等待。