Ad

CVE-2026-72105

HIGH CVSS 3.1: 7,8 EPSS 0.17%
Обновлено 17 августа 2026
Linux
Параметр Значение
CVSS 7,8 (HIGH)
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: dm-log: исправлено переполнение bitset_size на 32-битных машинах. Commit c20e36b7631d («Журнал dm: исправлена запись за пределами допустимого диапазона из-за Region_count overflow") убедился, что Region_count может поместиться в беззнаковое целое. Но память растрового изображения не выделяется на основе регион_счет.

Он использует bitset_size (переменную size_t). Первый шаг вычисление bitset_size заключается в установке его в Region_count, округленном до кратно BITS_PER_LONG. Если регион_размер меньше BITS_PER_LONG меньше, чем UINT_MAX, оно будет округлено до 2^32.

На 32-битной версии архитектура, это приведет к тому, что bitset_size будет равен 0 и произойдет сбой, несмотря на то, что регион_count действителен. Поскольку bitset_size делится на 8, он может содержать любой допустимый регион_count. Просто нужен специальный случай для обработки опрокидывания.

Если оно равно 0, то значение переносится, а размер битового набора должен быть установлен на количество байтов необходимо хранить 2 ^ 32 бита.

Показать оригинальное описание (EN)

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.

Характеристики атаки

Способ атаки
Локальный
Нужен локальный доступ
Сложность
Низкая
Легко эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1