В ядре Linux устранена следующая уязвимость:
zram: исправлен доступ за пределами границ в read_block_state()
read_block_state() вычисляет nr_pages перед принятием dev_lock. Если
устройство сбрасывается и повторно инициализируется с меньшим размером диска перед блокировкой
получения, nr_pages по-прежнему описывает старую таблицу. Последующий цикл
затем можно вызвать slot_lock() после конца вновь выделенной таблицы.
Прочитайте размер диска после получения dev_lock и проверки того, что устройство
инициализирован. Блокировка чтения затем сохраняет таблицу и ее привязку стабильными в течение
продолжительность сканирования.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: zram: fix out-of-bounds access in read_block_state() read_block_state() calculates nr_pages before taking dev_lock. If the device is reset and reinitialized with a smaller disksize before lock acquisition, nr_pages still describes the old table. The subsequent loop can then call slot_lock() past the end of the newly allocated table. Read disksize after acquiring dev_lock and checking that the device is initialized. The read lock then keeps the table and its bound stable for the duration of the scan.
Уязвимые продукты 4
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
4.18
|
6.12.111
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
4.18
|
6.18.51
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
4.18
|
7.2.4
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
4.18
|
7.3-rc1
|