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

Сводка

по VulDB • 28.05.2026

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

dm-verity-fec: исправлено чтение байтов четности, разделенных между блоками (версия 3)

Функция fec_decode_bufs() предполагает, что байты четности первого кодового слова Рида-Соломона (RS), которое она декодирует, никогда не разделяются между блоками четности.

Это предположение неверно. Рассмотрим, например, случай, когда v->fec->block_size == 4096, v->fec->roots == 17 и fio->nbufs == 1. В этом случае каждый вызов fec_decode_bufs() потребляет v->fec->roots * (fio->nbufs << DM_VERITY_FEC_BUF_RS_BITS) = 272 байта четности.

Поскольку данные четности для каждого блока сообщения начинаются с границы блока, выравнивание байтов в данных четности будет изменяться по формуле 272*i mod 4096 до тех пор, пока не будут обработаны все 3 блока четности. При 16-м вызове (i=15) выравнивание составит 4080 байт от начала первого блока. В этом блоке остается только 16 байт, но потребуется 17 байт четности. Код осуществляет чтение за пределами буфера блока четности.

К счастью, это обычно не происходит, поскольку такая ситуация может возникнуть только при определенных нестандартных значениях fec_roots, а также когда максимальное количество буферов не удалось выделить из-за нехватки памяти. Например, при block_size=4096 затронуты только следующие случаи:

fec_roots=17: nbufs в диапазоне [1, 3, 5, 15]
fec_roots=19: nbufs в диапазоне [1, 229]
fec_roots=21: nbufs в диапазоне [1, 3, 5, 13, 15, 39, 65, 195]
fec_roots=23: nbufs в диапазоне [1, 89]

В любом случае, проблема исправлена путем рефакторинга способа чтения блоков четности.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

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

Linux

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

13.05.2026

Раскрытие

28.05.2026

Модерация

принято

Вход

VDB-366625

EPSS

0.00024

KEV

Нет

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

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!