High · published May 30, 2024
In the Linux kernel, the following vulnerability has been resolved:
regmap: maple: Fix cache corruption in regcache_maple_drop()
When keeping the upper end of a cache block entry, the entry[] array
must be indexed by the offset from the base register of the block,
i.e. max - mas.index.
The code was indexing entry[] by only the register address, leading
to an out-of-bounds access that copied some part of the kernel
memory over the cache contents.
This bug was not detected by the regmap KUnit test because it only
tests with a block of registers starting at 0, so mas.index == 0.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 6.4, < 6.6.26 | 6.6.26 |
| linux/linux_kernel | ≥ 6.7, < 6.8.5 | 6.8.5 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |