CVE-2026-90279

Summary

In the Linux kernel, the following vulnerability has been resolved:

md/raid5: round bitmap stripes with sector division

raid5_bitmap_sector_map() aligns the array range to full RAID5 stripe widths before converting it to component sectors. That width is chunk_sectors multiplied by the number of data disks, and it is not always a power of two.

Reproduce with a 4-disk RAID5, 1024-sector chunks, and three data disks. The full-stripe width is 3072 sectors. For a one-sector write at array sector 3072, correct rounding gives array range [3072, 6144), which maps to component range [1024, 2048). The old round_down()/round_up() logic instead gives [1024, 4096), which maps to [0, 1024).

Use sector_div() based arithmetic so the rounded range is aligned to the actual RAID5 stripe width.

The deterministic mapper test now reports the fixed component range as [1024, 2048), while the old mask-based range was [0, 1024).

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxb29e6400be51c214a0ad30dce937348b57abe33a < 9d7490007707f90691911385365bd1d691d99225affected
LinuxLinuxaa8e15d69f5c0044d5bff61844e163aacc4ac172 < cab7d949b18b2f1cd625689dc16c5f81236bac93affected
LinuxLinux9c89f604476cf15c31fbbdb043cff7fbf1dbe0cb < 02c10581866d08822c6348e299881485fc546185affected
LinuxLinux9c89f604476cf15c31fbbdb043cff7fbf1dbe0cb < ccbdc483eb041eef809e9ff223d1ad63518a2c52affected
LinuxLinux9c89f604476cf15c31fbbdb043cff7fbf1dbe0cb < 17ea021ae74987d6064c8195c4922fa025753892affected
LinuxLinuxa41a0df5d7638acf15e723ad985980b4f7ff9383affected
LinuxLinux6.6.79 < 6.6.157affected
LinuxLinux6.12.13 < 6.12.110affected
LinuxLinux6.13.2 < 6.14affected
LinuxLinux6.14affected
LinuxLinux0 < 6.14unaffected
LinuxLinux6.6.157 <= 6.6.*unaffected
LinuxLinux6.12.110 <= 6.12.*unaffected
LinuxLinux6.18.52 <= 6.18.*unaffected
LinuxLinux7.2.6 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References