CVE-2026-64579 in LinuxИнформация

Сводка

по VulDB • 05.08.2026

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

xfrm: policy: предварительное выделение неточных (inexact) блоков перед перестроением хеш-таблицы xfrm_hash_rebuild

Первый цикл функции `xfrm_hash_rebuild()` выполняет предварительное выделение блоков/цепочек, необходимых циклу повторной вставки (reinsert), чтобы операция повторной вставки (после вызова `hlist_del_rcu()`) не требовала выделения памяти и не могла завершиться ошибкой. Однако условие защиты инвертировано: оно пропускает политики с префиксной длиной (`prefixlen`), меньшей порогового значения, и выполняет предварительное выделение для остальных.

Условие `prefixlen < threshold` возникает именно тогда, когда функция `policy_hash_bysel()` возвращает NULL, и повторная вставка переходит по пути выделения через функцию `xfrm_policy_inexact_insert()`. Таким образом, цикл выполняет предварительное выделение памяти для точных (exact) политик (которые никогда не требуют динамического выделения), но пропускает неточные политики. В результате блоки/узлы для них выделяются с флагом `GFP_ATOMIC` непосредственно во время повторной вставки. При возникновении ошибки путь обработки ошибок вызывает только макрос `WARN_ONCE()` и продолжает выполнение, оставляя поврежденный узел (`poisoned bydst node`). Последующий вызов `hlist_del_rcu()` при следующем перестроении разыменовывает указатель `LIST_POISON2` и приводит к ошибке GPF (General Protection Fault). Уязвимость реализуема в условиях высокого давления на память, детерминированно воспроизводится с помощью механизма failslab.

Инвертируйте условие защиты так, чтобы предварительное выделение охватывало именно те политики, которые будут повторно вставлены; тогда повторная вставка не будет требовать выделения памяти и не сможет завершиться ошибкой.

Сбой (Crash): Oops: ошибка общей защиты (general protection fault), вероятно, из-за неканонического адреса 0xfbd59c0000000024: 0000 [#1] SMP KASAN NOPTI
KASAN: возможно некорректный доступ к памяти в диапазоне [0xdead...]
... Рабочий поток (Workqueue): events xfrm_hash_rebuild RIP: 0010:xfrm_hash_rebuild+0x5b3/0x1190 RAX: dead000000000122 (LIST_POISON2 + смещение) ... Треггер вызова (Call Trace): hlist_del_rcu (include/linux/rculist.h:599) xfrm_hash_rebuild (net/xfrm/xfrm_policy.c:1365) process_one_work (kernel/workqueue.c:3322) worker_thread (kernel/workqueue.c:3486) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:158) ret_from_fork_asm (arch/x86/entry/entry_64.S:245) ... Kernel panic - not syncing: Fатальная ошибка в прерывании

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

Ответственный

Linux

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

19.07.2026

Раскрытие

05.08.2026

Модерация

принято

Вход

VDB-386140

EPSS

0.00000

KEV

Нет

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

Низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!