High · published February 27, 2025
In the Linux kernel, the following vulnerability has been resolved:
iommufd/iova_bitmap: Fix shift-out-of-bounds in iova_bitmap_offset_to_index()
Resolve a UBSAN shift-out-of-bounds issue in iova_bitmap_offset_to_index()
where shifting the constant "1" (of type int) by bitmap->mapped.pgshift
(an unsigned long value) could result in undefined behavior.
The constant "1" defaults to a 32-bit "int", and when "pgshift" exceeds
31 (e.g., pgshift = 63) the shift operation overflows, as the result
cannot be represented in a 32-bit type.
To resolve this, the constant is updated to "1UL", promoting it to an
unsigned long type to match the operand's type.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 6.1, < 6.1.129 | 6.1.129 |
| linux/linux_kernel | ≥ 6.2, < 6.6.76 | 6.6.76 |
| linux/linux_kernel | ≥ 6.7, < 6.12.13 | 6.12.13 |
| linux/linux_kernel | ≥ 6.13, < 6.13.2 | 6.13.2 |