High · published July 4, 2025
In the Linux kernel, the following vulnerability has been resolved:
ipc: fix to protect IPCS lookups using RCU
syzbot reported that it discovered a use-after-free vulnerability, [0]
[0]: https://lore.kernel.org/all/[email protected]/
idr_for_each() is protected by rwsem, but this is not enough. If it is
not protected by RCU read-critical region, when idr_for_each() calls
radix_tree_node_free() through call_rcu() to free the radix_tree_node
structure, the node will be freed immediately, and when reading the next
node in radix_tree_for_each_slot(), the already freed memory may be read.
Therefore, we need to add code to make sure that idr_for_each() is
protected within the RCU read-critical region when we call it in
shm_destroy_orphaned().
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 3.1, < 5.4.295 | 5.4.295 |
| linux/linux_kernel | ≥ 5.5, < 5.10.239 | 5.10.239 |
| linux/linux_kernel | ≥ 5.11, < 5.15.186 | 5.15.186 |
| linux/linux_kernel | ≥ 5.16, < 6.1.142 | 6.1.142 |
| linux/linux_kernel | ≥ 6.2, < 6.6.95 | 6.6.95 |
| linux/linux_kernel | ≥ 6.7, < 6.12.35 | 6.12.35 |
| linux/linux_kernel | ≥ 6.13, < 6.15.4 | 6.15.4 |
| debian/debian_linux | all versions | — |