IPBUF安全漏洞报告
English
CVE-2026-43127 CVSS 5.5 中危

CVE-2026-43127 Linux内核ntfs3死锁漏洞

披露日期: 2026-05-06
来源: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

漏洞信息

漏洞编号
CVE-2026-43127
漏洞类型
拒绝服务
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux Kernelntfs3DeadlockDenial of ServiceRace ConditionLocal

漏洞概述

Linux内核的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`时阻塞等待。

攻击链分析

STEP 1
Step 1: Local Access
Attacker gains low-privileged local access to the target system.
STEP 2
Step 2: Trigger Filesystem Operations
Attacker executes specific file operations on a mounted NTFS3 filesystem that trigger MFT expansion and bitmap refresh operations simultaneously.
STEP 3
Step 3: Exploit Lock Ordering
The operations are timed to create a race condition where locks are acquired in reverse order (AB-BA pattern).
STEP 4
Step 4: Deadlock
The system enters a deadlock state, unable to process further requests, resulting in a Denial of Service (DoS).

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Conceptual PoC to trigger the race condition // This requires a mounted ntfs3 filesystem. #include <pthread.h> #include <stdio.h> #include <unistd.h> void* thread_extend_mft(void* arg) { // Perform operations that trigger ntfs_extend_mft // e.g., writing large files to fill MFT system("dd if=/dev/zero of=/mnt/ntfs/testfile bs=1M count=100"); return NULL; } void* thread_unpack(void* arg) { // Perform operations that trigger run_unpack_ex // e.g., reading specific metadata or triggering bitmap operations system("cat /mnt/ntfs/large_file"); return NULL; } int main() { pthread_t t1, t2; printf("Starting race condition trigger for CVE-2026-43127...\n"); pthread_create(&t1, NULL, thread_extend_mft, NULL); pthread_create(&t2, NULL, thread_unpack, NULL); pthread_join(t1, NULL); pthread_join(t2, NULL); return 0; }

影响范围

Linux Kernel (versions prior to specific commits in stable branches)

防御指南

临时缓解措施
作为临时缓解措施,可以禁用ntfs3内核模块,或者避免在系统上挂载不可信的NTFS文件系统,直到应用补丁。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表