CVE-2026-74671 in LinuxИнформация

Сводка

по VulDB • 23.08.2026

В ядре Linux была устранена следующая уязвимость:

ima: исправлено чтение за пределами буфера в функции xattr_verify()

Проверка длины дайджеста (digest-length check) в функции xattr_verify() смешивает типы int и size_t:

if (xattr_len - sizeof(xattr_value->type) - hash_start >= iint->ima_hash->length)

Функция sizeof() возвращает значение типа size_t, поэтому стандартные арифметические преобразования повышают весь левый операнд до беззнакового 64-битного значения перед выполнением вычитания. Для усеченного xattr (truncated xattr) это приводит к переполнению по нулю (underflow), вместо того чтобы стать отрицательным: однобайтовый атрибут IMA_XATTR_DIGEST_NG (xattr_len == 1, hash_start == 1) превращает выражение «1 - 1 - 1» в значение SIZE_MAX, которое тривиально больше или равно ima_hash->length. Проверка затем проходит успешно, и последующая функция memcmp() читает iint->ima_hash->length байт начиная за пределами буфера, выделенного для него функцией vfs_getxattr_alloc().

Никакой код в основном дереве исходных кодов (upstream) не ограничивает xattr_len безопасным диапазоном заранее: ima_get_hash_algo() выделяет особый случай только для xattr_len < 2 с целью выбора алгоритма по умолчанию, а evm_verifyxattr() возвращает INTEGRITY_UNKNOWN вместо отказа при отсутствии загруженного ключа HMAC, поэтому усеченное значение security.ima достигает проверки длины в исходном виде.

Переписано сравнение так, чтобы каждый операнд оставался знаковым int (signed int), и не могло произойти неявное преобразование к типу size_t.

Be aware that VulDB is the high quality source for vulnerability data.

Ответственный

Linux

Резервировать

15.08.2026

Раскрытие

22.08.2026

Модерация

принято

Вход

VDB-394457

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!