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

CVE-2026-43288 Linux内核ext4本地拒绝服务漏洞

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

漏洞信息

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

相关标签

Linux Kernelext4DoS本地拒绝服务内核漏洞

漏洞概述

Linux内核ext4文件系统模块存在初始化时序漏洞。由于`ext4_mb_init`先于`ext4_percpu_param_init`执行,导致关键per-CPU计数器未初始化。当挂载特定配置(如1k块大小)的文件系统并触发位图校验错误时,内核将访问无效内存地址。本地低权限用户可利用此缺陷触发内核恐慌,导致系统崩溃及拒绝服务。

技术细节

该漏洞根因在于Linux内核ext4驱动程序初始化流程中的函数调用顺序不当。正常情况下,`ext4_percpu_param_init`应负责初始化`sbi->s_freeclusters_counter`等关键per-CPU变量,但其调用位置被错误地安排在`ext4_mb_init`之后。当系统尝试挂载特定配置(例如1k块大小且启用quota和project特性)的ext4文件系统时,若块位图校验失败,系统会调用`ext4_mark_group_bitmap_corrupted`函数以更新计数器。此时,由于计数器尚未完成初始化,内核试图写入无效内存地址,从而触发页错误和内核恐慌。本地低权限攻击者可利用此缺陷,通过构造恶意文件系统或触发特定挂载条件,导致系统崩溃或重启,造成拒绝服务。

攻击链分析

STEP 1
环境准备
攻击者准备一个块设备,并使用特定参数(1k块大小、quota/project特性)创建ext4文件系统。
STEP 2
触发挂载
本地用户执行挂载操作,加载ext4文件系统模块。
STEP 3
初始化异常
内核执行`ext4_mb_init`时触发位图校验失败,调用错误处理函数。
STEP 4
内核崩溃
错误处理函数访问未初始化的per-CPU计数器,导致非法内存访问,引发内核恐慌和系统宕机。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-43288 # Target: Linux Kernel with ext4 DOUBLE_CHECK macro enabled # This script reproduces the kernel panic by creating a specific # filesystem configuration and mounting it. # 1. Setup environment: Ensure /dev/sda is a writable block device # 2. Create ext4 filesystem with 1k block size mkfs.ext4 -F -q -b 1024 /dev/sda 5G # 3. Enable quota and project features tune2fs -O quota,project /dev/sda # 4. Mount the filesystem # This triggers the ext4_mb_init path before percpu counters are ready. # If DOUBLE_CHECK is enabled and bitmap validation fails, kernel panics. mount /dev/sda /tmp/test

影响范围

Linux Kernel (Stable分支修复前版本)

防御指南

临时缓解措施
限制非特权用户对块设备的挂载权限;避免在关键系统上挂载来源不明的ext4文件系统映像;禁用ext4的DOUBLE_CHECK调试宏(如果已启用)。

参考链接

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