CVE-2021-47261 in LinuxИнформация

Сводка

по VulDB • 02.07.2026

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

IB/mlx5: Исправлена инициализация буфера фрагментов CQ

Функция init_cq_frag_buf() может вызываться для инициализации текущего буфера фрагментов CQ cq->buf или временного буфера cq->resize_buf, который заполняется во время операции изменения размера CQ.

Однако в проблемном коммите началось использование функции get_cqe() для получения элементов CQE (Completion Queue Entry). Проблема данного изменения заключается в том, что функция get_cqe() всегда возвращает элементы CQE из cq->buf, что приводит к инициализации неверного буфера. В случае увеличения размера CQ происходит попытка доступа к элементам за пределами текущего размера cq->buf, что в конечном итоге вызывает панику ядра (kernel panic).

[exception RIP: init_cq_frag_buf+103]
[ffff9f799ddcbcd8] mlx5_ib_resize_cq at ffffffffc0835d60 [mlx5_ib]
[ffff9f799ddcbdb0] ib_resize_cq at ffffffffc05270df [ib_core]
[ffff9f799ddcbdc0] llt_rdma_setup_qp at ffffffffc0a6a712 [llt]
[ffff9f799ddcbe10] llt_rdma_cc_event_action at ffffffffc0a6b411 [llt]
[ffff9f799ddcbec8] kthread at ffffffffa66c5da1
[ffff9f799ddcbf50] ret_from_fork_nospec_begin at ffffffffa6d95ddd

Исправление заключается в получении необходимого элемента CQE путем вызова функции mlx5_frag_buf_get_wqe(), которая принимает правильный исходный буфер в качестве параметра.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

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

21.05.2024

Раскрытие

21.05.2024

Модерация

принято

Вход

VDB-265699

EPSS

0.00234

KEV

Нет

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

Очень низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!