CVE-2026-43068Linux内核中的ext4文件系统驱动存在一处拒绝服务漏洞。问题出现在`ext4_mb_find_by_goal()`函数中,当系统尝试从已标记为损坏的块组分配块时,由于`ext4_mb_load_buddy()`返回错误,而调用方未进行有效的完整性检查,导致块分配持续失败。该场景会触发内核日志频繁报错,提示“Data will be lost”,并可能造成系统服务不可用或数据丢失。本地攻击者可利用此缺陷影响系统稳定性。
该漏洞源于Linux内核ext4文件系统在多块分配(mb)处理逻辑中的缺陷。具体而言,当`ext4_mb_find_by_goal()`调用`ext4_mb_load_buddy()`加载块组位图时,若检测到块组位图损坏(`EXT4_MB_GRP_BBITMAP_CORRUPT`),函数会返回`-EFSCORRUPTED`错误代码。然而,在后续的执行流程中,代码未能充分检查该错误码对应的损坏状态,仍然尝试对损坏的块组进行加锁或操作。这种逻辑缺陷导致延迟块分配请求失败,错误代码117(`EFSCORRUPTED`)被重复记录。攻击者若能触发文件系统元数据损坏(例如通过特定的IO操作或利用硬件故障),即可导致内核陷入死循环或资源耗尽,从而实现拒绝服务攻击。修复补丁通过在`ext4_mb_load_buddy()`返回错误后增加块组损坏状态的检查,避免从损坏组分配资源。