В ядре Linux устранена следующая уязвимость:
drm/radeon: исправлено целочисленное переполнение в radeon_align_pitch().
radeon_align_pitch() имеет ту же проблему переполнения, что и старый
Помощник amdgpu: как добавление округления выравнивания, так и последнее
Вычисление 'aligned * cpp' может переполнить подписанное целое число. Если это произойдет, radeon_mode_dumb_create() может вернуть
недопустимый шаг или создание тупого буфера нулевого размера. Исправьте это, используя check_add_overflow() для округления выравнивания и
check_mul_overflow() для окончательного расчета шага, возвращает 0
переполнение.
Также отклоните нулевой шаг и размер в
radeon_mode_dumb_create(). Найдено с помощью анализа графа вызовов на основе AST с использованием sqry.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: drm/radeon: fix integer overflow in radeon_align_pitch() radeon_align_pitch() has the same kind of overflow issue as the old amdgpu helper: both the alignment round-up add and the final 'aligned * cpp' calculation can overflow signed int. If that wraps, radeon_mode_dumb_create() can end up returning an invalid pitch or creating a zero-sized dumb buffer. Fix this by using check_add_overflow() for the alignment round-up and check_mul_overflow() for the final pitch calculation, returning 0 on overflow. Also reject zero pitch and size in radeon_mode_dumb_create(). Found via AST-based call-graph analysis using sqry.
Характеристики атаки
Последствия
Строка CVSS v3.1