Cloudanix VulnDB

CVE-2026-98722

None

CVSS

—

EPSS

0.2%

Published

Oct 18, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

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

  1. Obtain ability to load or configure kernel modules on target system
  2. Write zero value to the block2mtd erase_size parameter via param_attr_store
  3. Trigger module initialization path
  4. 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