mtd: block2mtd: Fix divide error when erase_size is zero
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.160, 6.12.113, 6.18.56, 7.2.10
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From ea6d833a3fddcd1d60414d48f34c7f4fbe88608f · fixed in bff83b723e93acc788bd690dc4bc1f6f4356c35b; From ea6d833a3fddcd1d60414d48f34c7f4fbe88608f · fixed in 826170a49ca1315af6b293a02200585b1e2186d9; From ea6d833a3fddcd1d60414d48f34c7f4fbe88608f · fixed in a991c28066e7ba4da7450bb04478849f7ac6a14a; From ea6d833a3fddcd1d60414d48f34c7f4fbe88608f · fixed in 21d0f05989bf0d5cef57b467a7fa4feefbd7236a; From ea6d833a3fddcd1d60414d48f34c7f4fbe88608f · fixed in b5965c4221165045e19736794ca5f48ae3d67142
- Linux Linux
3.15
- KernelLinux
From 3.15.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.113; From 6.13.0 · fixed in 6.18.56; From 6.19.0 · fixed in 7.2.10