Ad

CVE-2026-80979

HIGH CVSS 3.1: 7,8 EPSS 0.13%
Обновлено 14 сентября 2026
Linux
Параметр Значение
CVSS 7,8 (HIGH)
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: net/smc: отменить регистрацию соединения перед очисткой тасклета rx smc_conn_free() вызывает smc_ism_unset_conn() только тогда, когда группа ссылок все еще находится в списке устройств и никогда не устанавливает conn->killed. smc_lgr_terminate_sched() немедленно отключает группу и откладывает убийство его соединения с рабочим элементом, поэтому соединение, освобожденное в этом окне, сохраняется его слот smcd->conn[] с открытыми обоими воротами в smcd_handle_irq(), и устройство может повторно активировать тасклет приема после возврата Tasklet_kill(). Вкл. путь DMB-nocopy, буфер отправки-призрака освобождается сразу после этого опорожнения, поэтому повторно активированный тасклет разыменовывает его. Безоговорочно отменить регистрацию и слить воду перед отсоединением при обоих демонтажах. сайты, зеркалирующие rmb_desc, который smc_buf_unuse() освобождает после стока.

Очистите conn->sndbuf_desc перед его освобождением, чтобы указатель не может получить тот, который уже освобожден.

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: net/smc: unregister the connection before draining the rx tasklet smc_conn_free() calls smc_ism_unset_conn() only while the link group is still on its device list, and never sets conn->killed. smc_lgr_terminate_sched() unlinks the group immediately and defers killing its connections to a work item, so a connection freed in that window keeps its smcd->conn[] slot with both gates in smcd_handle_irq() open, and the device can re-arm the receive tasklet after tasklet_kill() has returned. On the DMB-nocopy path the ghost send buffer is freed right after that drain, so the re-armed tasklet dereferences it. Unregister unconditionally and drain before the detach at both teardown sites, mirroring rmb_desc, which smc_buf_unuse() releases after the drain. Clear conn->sndbuf_desc before freeing it as well, so a reader that samples the pointer cannot get one that is already freed.

Характеристики атаки

Способ атаки
Локальный
Нужен локальный доступ
Сложность
Низкая
Легко эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1