Ad

CVE-2026-64570

HIGH CVSS 3.1: 7,8 EPSS 0.15%
Обновлено 8 августа 2026
Linux
Параметр Значение
CVSS 7,8 (HIGH)
Уязвимые версии 6.7 — 7.2-rc4
Устранено в версии 6.12.101
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: wifi: mac80211: исправить fils_discovery, двойное освобождение при ошибке выделения ieee80211_set_fils_discovery() вызывает kfree_rcu() для старого шаблона прежде чем назначить замену. Если kzalloc() завершится неудачей, он возвращает -ENOMEM, в то время как link->u.ap.fils_discovery все еще указывает на объект уже поставлен в очередь на освобождение. Более позднее обновление или демонтаж точки доступа. (ieee80211_stop_ap()) повторно ставит в очередь тот же самый rcu_head; второй бесплатный перехватывается KASAN при обработке пакета RCU в softirq: ОШИБКА: KASAN: двойное освобождение в rcu_free_sheaf (mm/slub.c:5850) Освобожден от адреса ffff88800c065280 с помощью Task swapper/0/0. ... __rcu_free_sheaf_prepare (мм/slub.c:2634 мм/slub.c:2940) rcu_free_sheaf (мм/slub.c:5850) rcu_core (ядро/rcu/tree.c:2617 ядро/rcu/tree.c:2869) handle_softirqs (ядро/softirq.c:622) Глючный адрес принадлежит кэшу kmalloc-96 размером 96.

Ставьте старый объект в очередь для kfree_rcu() только после публикации нового. соответствие ieee80211_set_probe_resp() и ieee80211_set_s1g_short_beacon().

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

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: fix fils_discovery double free on alloc failure ieee80211_set_fils_discovery() calls kfree_rcu() on the old template before allocating the replacement. If the kzalloc() then fails, it returns -ENOMEM while link->u.ap.fils_discovery still points at the object already queued for freeing. A later update or AP teardown (ieee80211_stop_ap()) re-queues that same rcu_head; the second free is caught by KASAN when the RCU sheaf is processed in softirq: BUG: KASAN: double-free in rcu_free_sheaf (mm/slub.c:5850) Free of addr ffff88800c065280 by task swapper/0/0 ... __rcu_free_sheaf_prepare (mm/slub.c:2634 mm/slub.c:2940) rcu_free_sheaf (mm/slub.c:5850) rcu_core (kernel/rcu/tree.c:2617 kernel/rcu/tree.c:2869) handle_softirqs (kernel/softirq.c:622) The buggy address belongs to the cache kmalloc-96 of size 96 Queue the old object for kfree_rcu() only after the new one is published, matching ieee80211_set_probe_resp() and ieee80211_set_s1g_short_beacon().

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

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

Последствия

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

Строка CVSS v3.1

Уязвимые продукты 4

Конфигурация От (включительно) До (исключительно)
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
6.7 6.12.101
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
6.7 6.18.42
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
6.7 7.1.6
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
6.7 7.2-rc4