Medium · published May 19, 2024
In the Linux kernel, the following vulnerability has been resolved:
btrfs: handle chunk tree lookup error in btrfs_relocate_sys_chunks()
The unhandled case in btrfs_relocate_sys_chunks() loop is a corruption,
as it could be caused only by two impossible conditions:
- at first the search key is set up to look for a chunk tree item, with
offset -1, this is an inexact search and the key->offset will contain
the correct offset upon a successful search, a valid chunk tree item
cannot have an offset -1
- after first successful search, the found_key corresponds to a chunk
item, the offset is decremented by 1 before the next loop, it's
impossible to find a chunk item there due to alignment and size
constraints
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 5.11, < 5.15.155 | 5.15.155 |
| linux/linux_kernel | ≥ 5.16, < 6.1.86 | 6.1.86 |
| linux/linux_kernel | ≥ 6.2, < 6.6.27 | 6.6.27 |
| linux/linux_kernel | ≥ 6.7, < 6.8.6 | 6.8.6 |
| linux/linux_kernel | < 4.19.312 | 4.19.312 |
| linux/linux_kernel | ≥ 4.20, < 5.4.274 | 5.4.274 |
| linux/linux_kernel | ≥ 5.5, < 5.10.215 | 5.10.215 |
| debian/debian_linux | all versions | — |