CVE-2026-98722
NoneCVSS
—
EPSS
0.2%
Published
Oct 18, 2026
CISA due date
—
Cloudanix analysis
A configuration mistake when loading a Linux storage driver can make the whole computer crash instead of showing a clear error message.
- Exploitation
- Local Privilege
- Attacker needs
- High Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Improper Input Validation
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
Divide-by-zero error in block2mtd kernel module add_device() when erase_size module parameter is zero, evaluated in size % erase_size check and triggering kernel oops/panic.
Why it matters to the business
System instability or full denial of service on Linux hosts using the block2mtd module, causing unplanned downtime and requiring reboots or recovery procedures.
How an attack unfolds
An attacker with privileges to write kernel module parameters (via sysfs or modprobe) supplies erase_size=0, causing the division during block2mtd_setup2 and resulting in an immediate kernel panic.
How to fix it
Apply a kernel patch that rejects zero erase_size before the modulo operation so the existing invalid-argument error path is reached instead of crashing.
How to confirm the fix worked
Confirm the updated module parameter handler returns an error for erase_size=0 without generating a divide error, and test module load with both valid and zero values.
Typical attack path
- Obtain ability to load or configure kernel modules on target system
- Write zero value to the block2mtd erase_size parameter via param_attr_store
- Trigger module initialization path
- Execute modulo operation with zero divisor to induce divide error and panic
How to detect it
Inspect kernel logs (dmesg, /var/log/kern.log) for divide error oops referencing block2mtd.c add_device or block2mtd_setup2 during module parameter writes.
- divide error: 0000 [#1] PREEMPT SMP PTI
- RIP: 0010:add_device drivers/mtd/devices/block2mtd.c:296
- block2mtd_setup2+0x592/0xda0 drivers/mtd/devices/block2mtd.c:459
- Call Trace: block2mtd_setup+0x27/0xe0
What your security team should do
- Prioritize kernel updates containing the block2mtd fix
- Restrict unprivileged module loading and parameter modification via sysfs permissions
- Enable kernel panic logging and monitoring for rapid detection of crashes
The record
In the Linux kernel, the following vulnerability has been resolved: mtd: block2mtd: Fix divide error when erase_size is zero The erase size is parsed from the "block2mtd" module parameter and can be set to zero. add_device() then evaluates if (size % erase_size) with a zero divisor, which triggers a divide error: divide error: 0000 [#1] PREEMPT SMP PTI RIP: 0010:add_device drivers/mtd/devices/block2mtd.c:296 [inline] RIP: 0010:block2mtd_setup2+0x592/0xda0 drivers/mtd/devices/block2mtd.c:459 Call Trace: block2mtd_setup+0x27/0xe0 drivers/mtd/devices/block2mtd.c:476 param_attr_store+0x214/0x310 kernel/params.c:589 module_attr_store+0x65/0x90 kernel/params.c:904 kernfs_fop_write_iter+0x3a4/0x540 fs/kernfs/file.c:345 ... Reject a zero erase size before performing the modulo operation so the existing "erasesize must be a divisor of device size" error path reports the invalid argument and frees the device.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|