Cloudanix VulnDB

CVE-2026-43288

Medium · 5.5

CVSS

5.5

EPSS

0.1%

Published

May 8, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A malformed Linux ext4 disk or image can crash a vulnerable system when it is mounted.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Denial of service
Remediation
Patch
Effort
Low
Patch risk
Low

What it actually does

This is a local Linux kernel denial-of-service flaw in the ext4 filesystem mount path. During ext4 initialization, ext4_mb_init() can validate a block bitmap before ext4_percpu_param_init() has initialized required per-CPU counters. If bitmap validation fails, ext4_mark_group_bitmap_corrupted() attempts to update an uninitialized counter, causing a kernel page fault and panic. The impact is availability only: successful triggering can crash the host, but it does not directly provide code execution, privilege escalation, or data disclosure.

Why it matters to the business

An attacker with local ability to present or mount a malformed ext4 filesystem could crash an affected Linux system, causing service interruption, workload failure, node reboot, or loss of availability for applications running on that host. The risk is lower than remotely exploitable kernel flaws because exploitation requires local access and specific filesystem-mount conditions. EPSS is low, it is not listed in CISA KEV, and no public exploit maturity is indicated, but systems that process untrusted disk images, removable media, VM images, container volumes, or user-supplied filesystem artifacts are more exposed operationally.

How an attack unfolds

An attacker prepares an ext4 filesystem with features and metadata conditions that cause block bitmap validation to fail during mount, such as a crafted or corrupted ext4 image using small block sizes and quota/project features. The attacker then causes an affected kernel to mount that filesystem locally, either by directly invoking a mount operation where permitted or by abusing a workflow that automatically mounts supplied disks, images, or volumes. During mount, ext4 initializes multiblock allocation before the relevant per-CPU counters are initialized. When validation detects the bad bitmap, the ext4 error-handling path attempts to update the uninitialized free-cluster counter. This results in a kernel page fault in percpu_counter_add_batch(), leading to an oops or panic and denial of service for the host.

How to fix it

Update the Linux kernel to a vendor-supported build that includes the ext4 fix moving ext4_percpu_param_init() before ext4_mb_init(). Because no fixed product versions were provided, use the relevant distribution or kernel vendor advisory to identify the first fixed package for each maintained release stream. Where immediate patching is not possible, reduce exposure by preventing untrusted users and automation from mounting ext4 filesystems, disabling or tightly controlling automatic mounting of removable media and disk images, restricting CAP_SYS_ADMIN and mount privileges, isolating image-processing workloads, and avoiding mounting untrusted ext4 images on production hosts.

How to confirm the fix worked

Confirm the running kernel package is at or above the vendor-fixed version for this issue, not merely that an updated package is installed on disk. Validate with kernel package inventory and the active runtime kernel version after reboot. For source-based kernels, verify that ext4_percpu_param_init() is invoked before ext4_mb_init() in the ext4 superblock initialization path. In a non-production test system only, regression validation can use a crafted ext4 filesystem that previously triggered the panic and confirm the mount no longer crashes the kernel. Also confirm that controls preventing untrusted filesystem mounts are enforced, including mount privilege restrictions and disabled automount behavior where applicable.

Typical attack path

  1. Gain local access or access to a workflow that causes Linux to mount attacker-controlled ext4 media, disk images, or volumes.
  2. Create or modify an ext4 filesystem so that block bitmap validation fails during mount, commonly involving quota/project features and crafted filesystem metadata.
  3. Present the malformed filesystem to an affected Linux kernel.
  4. Trigger a mount of the filesystem.
  5. The ext4 mount path calls ext4_mb_init() before the per-CPU counters are initialized.
  6. The bad bitmap validation path calls ext4_mark_group_bitmap_corrupted(), which updates an uninitialized counter.
  7. The kernel faults in percpu_counter_add_batch(), causing an oops or panic and interrupting host availability.

How to detect it

Look for evidence of prior kernel crashes during ext4 mount operations. Relevant log sources include kernel ring buffer output, system journal, /var/log/kern.log, /var/log/messages, crash dumps, kdump/vmcore records, hypervisor reset events, and EDR telemetry around mount, losetup, tune2fs, mkfs.ext4, and filesystem image handling. Search for ext4 bitmap checksum validation failures immediately followed by kernel oops, page fault, panic, or reboot events. Correlate these with recent mount activity, loop-device creation, removable media insertion, newly attached block devices, or processing of user-supplied disk images. Because this flaw is a denial-of-service condition and does not create a persistent implant by itself, detection relies primarily on crash artifacts, kernel stack traces, and suspicious filesystem-mount activity rather than network indicators.

  • EXT4-fs error
  • ext4_validate_block_bitmap
  • bad block bitmap checksum
  • BUG: unable to handle page fault
  • Oops: 0000
  • percpu_counter_add_batch
  • ext4_mark_group_bitmap_corrupted
  • ext4_read_block_bitmap
  • mb_group_bb_bitmap_alloc
  • ext4_mb_add_groupinfo
  • ext4_mb_init_backend
  • ext4_mb_init
  • __ext4_fill_super
  • ext4_fill_super
  • comm mount
  • tune2fs -O quota,project
  • mkfs.ext4 -F -q -b 1024
  • mount /dev/

What your security team should do

  • Prioritize patching Linux systems that mount untrusted storage, VM images, forensic images, removable media, backup volumes, or user-supplied filesystem artifacts.
  • Inventory systems running affected Linux kernel builds and map them to vendor-fixed kernel packages.
  • Reboot after kernel updates to ensure the fixed kernel is actually running.
  • Restrict local mount capabilities, especially CAP_SYS_ADMIN, privileged containers, loop-device access, and automount services exposed to untrusted users or inputs.
  • Review image-processing, virtualization, CI, backup, and forensic workflows for automatic mounting of ext4 filesystems from untrusted sources.
  • Monitor kernel logs for ext4 bitmap validation errors followed by kernel oops or panic traces involving percpu_counter_add_batch(), ext4_mark_group_bitmap_corrupted(), or ext4_validate_block_bitmap().
  • Treat observed crashes matching this stack trace as possible malicious triggering if they occur after mounting external, user-supplied, or newly attached ext4 media.

The record

In the Linux kernel, the following vulnerability has been resolved: ext4: move ext4_percpu_param_init() before ext4_mb_init() When running `kvm-xfstests -c ext4/1k -C 1 generic/383` with the `DOUBLE_CHECK` macro defined, the following panic is triggered: ================================================================== EXT4-fs error (device vdc): ext4_validate_block_bitmap:423: comm mount: bg 0: bad block bitmap checksum BUG: unable to handle page fault for address: ff110000fa2cc000 PGD 3e01067 P4D 3e02067 PUD 0 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 0 UID: 0 PID: 2386 Comm: mount Tainted: G W 6.18.0-gba65a4e7120a-dirty #1152 PREEMPT(none) RIP: 0010:percpu_counter_add_batch+0x13/0xa0 Call Trace: <TASK> ext4_mark_group_bitmap_corrupted+0xcb/0xe0 ext4_validate_block_bitmap+0x2a1/0x2f0 ext4_read_block_bitmap+0x33/0x50 mb_group_bb_bitmap_alloc+0x33/0x80 ext4_mb_add_groupinfo+0x190/0x250 ext4_mb_init_backend+0x87/0x290 ext4_mb_init+0x456/0x640 __ext4_fill_super+0x1072/0x1680 ext4_fill_super+0xd3/0x280 get_tree_bdev_flags+0x132/0x1d0 vfs_get_tree+0x29/0xd0 vfs_cmd_create+0x59/0xe0 __do_sys_fsconfig+0x4f6/0x6b0 do_syscall_64+0x50/0x1f0 entry_SYSCALL_64_after_hwframe+0x76/0x7e ================================================================== This issue can be reproduced using the following commands: mkfs.ext4 -F -q -b 1024 /dev/sda 5G tune2fs -O quota,project /dev/sda mount /dev/sda /tmp/test With DOUBLE_CHECK defined, mb_group_bb_bitmap_alloc() reads and validates the block bitmap. When the validation fails, ext4_mark_group_bitmap_corrupted() attempts to update sbi->s_freeclusters_counter. However, this percpu_counter has not been initialized yet at this point, which leads to the panic described above. Fix this by moving the execution of ext4_percpu_param_init() to occur before ext4_mb_init(), ensuring the per-CPU counters are initialized before they are used.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities