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

Сводка

по VulDB • 24.09.2026

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

mm/mm_init: deferred_grow_zone(): исправлена ошибка выхода за границы для first_deferred_pfn

При включенной конфигурации CONFIG_DEFERRED_STRUCT_PAGE_INIT функция deferred_grow_zone() выполняет раннюю инициализацию структур pages (struct pages) во время загрузки системы, чтобы удовлетворить запрос на выделение памяти.

Если зарезервирован большой объем CMA (Contiguous Memory Allocator), диапазоны, которые обнаруживает deferred_init_memmap(), могут не покрывать требуемый для выделения объем памяти, в результате чего функция завершает инициализацию карты памяти всей зоны, но все равно остается недобор.

Само по себе это допустимо: функция учитывает эту ситуацию и оставляет вызывающей стороне право решить, достаточно ли теперь у нее памяти.

Однако обновление переменной pgdat->first_deferred_pfn, которая отслеживает начало неинициализированной карты памяти, может привести к переполнению (overflow).

Если конец оперативной памяти узла (node) не выровнен по границам PAGES_PER_SECTION и некоторые deferred struct pages были уже проинициализированы, то pgdat->first_deferred_pfn будет указывать за пределы памяти данного узла.

Позже функция deferred_init_memmap() продолжит работу с адреса pgdat->first_deferred_pfn и столкнется с ошибкой BUG_ON(), поскольку она ожидает получить значение pfn (page frame number), находящееся в пределах ее узла.

Например, при запуске ядра с параметрами CONFIG_DEFERRED_STRUCT_PAGE_INIT=y и CONFIG_CMA=y с использованием следующей командной строки qemu:

qemu-system-x86_64 -enable-kvm -m 8032M -kernel bzImage \ -append "nokaslr cma=4768M@0x100000000"

ядро завершается с паникой:

kernel BUG at mm/mm_init.c:2131! CPU: 3 UID: 0 PID: 36 Comm: pgdatinit0 Not tainted 7.2.0-rc6 #1 RIP: 0010:deferred_init_memmap+0x1b8/0x1c0 RAX: 0000000000236000 R13: 0000000000238000 Call Trace: kthread+0xdf/0x120 ret_from_fork+0x187/0x250

Необходимо убедиться, что обновление pgdat->first_deferred_pfn не приводит к переполнению при инициализации карты памяти всей зоны (и, следовательно, всего узла).

[rppt: отредактировано описание изменений]

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

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

Linux

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

17.09.2026

Раскрытие

24.09.2026

Модерация

принято

Вход

VDB-409433

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Do you know our Splunk app?

Download it now for free!