В ядре Linux устранена следующая уязвимость:
RDMA/mlx5: исправлен неопределенный сдвиг размера пользовательского RQ WQE.
set_rq_size() вычисляет размер RQ WQE как «1 << rq_wqe_shift» на основе
предоставленный пользователем rq_wqe_shift, который проверяется только на то, чтобы быть больше
32, поэтому смены на 32 по-прежнему принимаются. Смена 31 также переполняет
целое число со знаком, что приводит к неопределенному поведению.
Используйте check_shl_overflow(), чтобы вычислить размер RQ WQE и отклонить любые
недопустимые значения.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx5: Fix undefined shift of user RQ WQE size set_rq_size() computes the RQ WQE size as "1 << rq_wqe_shift" based on the user-provided rq_wqe_shift, which is only checked to be greater than 32, so shifts of 32 are still accepted. A shift of 31 also overflows a signed integer, leading to undefined behavior. Use check_shl_overflow() to compute the RQ WQE size and reject any invalid values.
Характеристики атаки
Последствия
Строка CVSS v3.1