IPBUF安全漏洞报告
English
CVE-2025-71105 CVSS 5.5 中危

CVE-2025-71105 Linux kernel f2fs文件系统slab缓存竞争条件漏洞

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

漏洞信息

漏洞编号
CVE-2025-71105
漏洞类型
资源管理错误
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux kernel f2fs文件系统

相关标签

Linux kernelf2fsslab cache资源管理错误竞争条件本地提权文件系统漏洞CVE-2025-71105

漏洞概述

CVE-2025-71105是Linux kernel中f2fs文件系统的一个中等严重性漏洞,CVSS评分5.5。该漏洞源于f2fs文件系统在处理slab缓存时的竞争条件问题。当系统多次挂载和卸载f2fs分区时,会导致slab缓存名称冲突,触发内核警告"kmem_cache of name 'f2fs_xattr_entry-7:7' already exists"。虽然该漏洞不会直接导致代码执行或信息泄露,但其会导致系统可用性问题,可能造成文件系统操作失败或系统不稳定。此漏洞需要本地低权限用户即可触发,无需特殊用户交互。

技术细节

漏洞根源在于f2fs文件系统为每个超级块(superblock)创建独立的per-sb slab缓存。问题出现在以下场景:当创建两个slab缓存(如f2fs_xattr_entry-7:3和f2fs_xattr_entry-7:7)且它们具有相同的slab大小时,Linux slab分配系统只会创建一个slab缓存核心结构,并使用第一个缓存的名称作为标识。这意味着两个不同名称的缓存实际共享同一个缓存结构和内存地址。当销毁第一个缓存时,内核只会减少引用计数而非完全释放内存。随后尝试重新创建同名缓存时,slab系统检测到已存在的同名缓存,从而触发WARNING并可能导致文件系统操作失败。修复方案是使用全局inline_xattr_slab替代per-sb slab cache,避免缓存名称冲突问题。

攻击链分析

STEP 1
步骤1
攻击者使用f2fs工具格式化两个块设备(/dev/vdb和/dev/vdc)
STEP 2
步骤2
攻击者挂载第一个f2fs分区到/mnt1,触发f2fs_init_xattr_caches创建slab缓存f2fs_xattr_entry-7:3
STEP 3
步骤3
攻击者挂载第二个f2fs分区到/mnt2,触发创建slab缓存f2fs_xattr_entry-7:7(共享同一缓存结构)
STEP 4
步骤4
攻击者卸载第一个分区,触发f2fs_destroy_xattr_caches但仅减少引用计数
STEP 5
步骤5
攻击者重新挂载第一个分区,slab系统检测到同名缓存已存在,触发WARNING导致系统可用性下降

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # CVE-2025-71105 PoC - f2fs slab cache race condition # This script demonstrates the slab cache conflict issue in f2fs # Prerequisites: f2fs filesystem tools and kernel module # Create two f2fs formatted partitions (/dev/vdb and /dev/vdc) # Step 1: Mount first f2fs partition mount /dev/vdb /mnt1 # Step 2: Mount second f2fs partition mount /dev/vdc /mnt2 # Step 3: Unmount first partition umount /mnt1 # Step 4: Remount first partition - this triggers the warning # Expected: "kmem_cache of name 'f2fs_xattr_entry-7:7' already exists" mount /dev/vdb /mnt1 # Check dmesg for the warning: # dmesg | grep -i "kmem_cache.*already exists" # Cleanup umount /mnt1 umount /mnt2

影响范围

Linux kernel < 6.17.0-rc4 (包含f2fs文件系统)
具体修复版本: 1eb0b130196bcbc56c5c80c83139fa70c0aa82c5
具体修复版本: 1f27ef42bb0b7c0740c5616ec577ec188b8a1d05
具体修复版本: 474cc3ed37436ddfd63cac8dbffe3b1e219e9100
具体修复版本: 72ce19dfed162da6e430467333b2da70471d08a4
具体修复版本: 93d30fe19660dec6bf1bd3d5c186c1c737b21aa5

防御指南

临时缓解措施
如果无法立即升级内核,可采取以下临时措施:1) 避免频繁挂载/卸载f2fs分区;2) 限制非特权用户挂载f2fs文件系统的权限;3) 使用dmesg监控并记录slab缓存警告以便及时发现系统问题;4) 考虑使用其他文件系统替代方案直到补丁可用。

参考链接

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