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

Сводка

по VulDB • 16.09.2026

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

mm/mempolicy: исправлено вызов функции сна в alloc_pages_bulk_weighted_interleave()

syzbot сообщил о срабатывании ошибки «вызов функции, допускающей сон (sleeping function), из недопустимого контекста» (splat) в bucket_table_alloc().

Когда rhashtable_insert_slow() выполняет рехэширование таблицы под блокировкой rcu_read_lock(), она вызывает bucket_table_alloc(..., GFP_ATOMIC | __GFP_NOWARN). Если выделение памяти для таблицы корзин использует vmalloc, то __vmalloc_node_range_noprof() вызывает vm_area_alloc_pages() -> alloc_pages_bulk_mempolicy_noprof() с переданными флагами GFP_ATOMIC.

Если у текущего процесса установлена политика памяти MPOL_WEIGHTED_INTERLEAVE, вызывается alloc_pages_bulk_weighted_interleave(), которая в настоящее время жестко задает (hardcodes) флаг GFP_KERNEL при выделении временного массива весов, что приводит к срабатыванию might_alloc() в атомарных контекстах или контекстах RCU.

Необходимо передавать флаги gfp (с маскированием через GFP_RECLAIM_MASK для удаления модификаторов зон аллокатора страниц, таких как __GFP_HIGHMEM), полученные alloc_pages_bulk_weighted_interleave(), в kmalloc() вместо жесткой установки GFP_KERNEL. Поскольку буфер весов сразу же полностью инициализируется, функции kmalloc() достаточно.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

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

Linux

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

11.09.2026

Раскрытие

17.09.2026

Модерация

принято

Вход

VDB-405821

EPSS

0.00163

KEV

Нет

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

Очень низкий

Источники

Do you know our Splunk app?

Download it now for free!