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
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | - | 4.19.312 |
| linux / linux_kernel | 4.20 | 5.4.274 |
| linux / linux_kernel | 5.5 | 5.10.215 |
| linux / linux_kernel | 5.11 | 5.15.155 |
| linux / linux_kernel | 5.16 | 6.1.86 |
| linux / linux_kernel | 6.2 | 6.6.27 |
| linux / linux_kernel | 6.7 | 6.8.6 |
| debian / debian_linux | 10.0 | 10.0.x |