PT-2026-90289 · Linux · Linux

CVE-2026-89573

·

Published

2026-09-11

·

Updated

2026-09-11

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
dm array: reject an array block whose value size is not the caller's
array block check() can only compare the header against itself, so a block with value size 4 and max entries 1018 is internally consistent and passes. dm-cache keeps two arrays -- mappings at 8 bytes and hints at 4 -- and the roots for both live in the superblock. Point the mappings root at a hint block and load mappings() walks it through an info whose value size is 8, so element at() strides 8 bytes over 4-byte entries and reaches offset 8160 of a 4096-byte block.
get ablock() and shadow ablock() are the two places that hold the block and the caller at once. Reject there when the two value sizes disagree. Arrays only ever read their own blocks, so this fires on crafted metadata only.
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2026-89573

Affected Products

Linux