CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's dm-log component, where an overflow in bitset_size on 32-bit systems can lead to an out-of-bounds write due to improper memory allocation. This flaw can potentially cause system instability or crashes, making it critical for organizations using 32-bit Linux systems to prioritize patching. System administrators and security teams should assess their environments for affected versions and apply the necessary updates to mitigate this risk.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: dm-log: fix a bitset_size overflow on 32bit machines Commit c20e36b7631d ("dm log: fix out-of-bounds write due to region_count overflow") made sure that region_count could fit in an unsigned int. But the bitmap memory isn't allocated based on region_count. It uses bitset_size (a size_t variable). The first step of calculating bitset_size is to set it to region_count, rounded up to a multiple of BITS_PER_LONG. If region_size is less than BITS_PER_LONG smaller than UINT_MAX, it will get rounded up to 2^32. On a 32bit architecture, this will make bitset_size wrap around to 0 and fail, despite region_count being valid. Since bitset_size gets divided by 8, it can hold any valid region_count. It just needs a special case to handle the rollover. If it is 0, the value rolled over, and bitset size should be set to the number of bytes needed to hold 2^32 bits.