Ad

CVE-2026-74325

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

В ядре Linux устранена следующая уязвимость: Wi-Fi: mt76: используйте kfree_rcu для внеканальной ссылки в mt76_put_vif_phy_link mt76_put_vif_phy_link() освобождает внеканальный mlink с помощью простого kfree() после rcu_assign_pointer(NULL). Однако rcu_assign_pointer только предотвращает будущие читатели RCU от получения указателя - он не ждет существующие считыватели, которые уже держат его через rcu_dereference. Путь данных TX (например, mt7996_mac_write_txwi) разыменовывает mlink->wcid и mlink->idx под rcu_read_lock.

Если программное прерывание TX получило указатель через rcu_dereference непосредственно перед присвоением NULL, оно будет разыменовано освободилась память после kfree. struct mt76_vif_link уже содержит поле rcu_head, которое не используется в этот бесплатный сайт — недосмотр разработчиков, поскольку соседний Вызов kfree_rcu_mightsleep для rx_sc в той же функции показывает закономерность была понятна. Замените kfree(mlink) на kfree_rcu(mlink, rcu_head).

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

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: use kfree_rcu for offchannel link in mt76_put_vif_phy_link mt76_put_vif_phy_link() frees the offchannel mlink with plain kfree() after rcu_assign_pointer(NULL). However, rcu_assign_pointer only prevents future RCU readers from obtaining the pointer -- it does not wait for existing readers that already hold it via rcu_dereference. The TX datapath (e.g. mt7996_mac_write_txwi) dereferences mlink->wcid and mlink->idx under rcu_read_lock. If a TX softirq obtained the pointer via rcu_dereference just before the NULL assignment, it will dereference freed memory after the kfree. struct mt76_vif_link already contains an rcu_head field that is unused at this free site -- a developer oversight, since the adjacent kfree_rcu_mightsleep call for rx_sc in the same function shows the pattern was understood. Replace kfree(mlink) with kfree_rcu(mlink, rcu_head).

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

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

Последствия

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

Строка CVSS v3.1