CVE Catalog

CVE-2026-90279

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, the md/raid5 subsystem's raid5_bitmap_sector_map() aligns the array range to full RAID5 stripe widths before converting to component sectors. That width is not always a power of two, so the old round_down()/round_up() logic produces incorrect ranges. The fix uses sector_div()-based arithmetic so the rounded range matches the actual RAID5 stripe width.

Risk Assessment

Incorrect bitmap sector mapping can lead to data inconsistency or write errors on RAID5 arrays whose stripe width is not a power of two. This may result in data loss or corruption.

Recommendation

Update the Linux kernel to a version containing the sector_div()-based fix. After updating, verify the integrity of RAID5 arrays, especially those with unusual chunk sizes.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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).

Vulnerability data from NVD (NIST) · CISA KEV · EPSS