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

Сводка

по VulDB • 25.07.2026

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

ACPI: NFIT: core: Исправлена очистка ошибок в функции acpi_nfit_init()

Если функция acpi_nfit_init() завершается ошибкой после добавления объекта acpi_desc в список acpi_descs, этот объект никогда не удаляется из списка, поскольку действие devm для очистки (shutdown) acpi_nft_shutdown() не регистрируется для устройства NFIT в данном случае. Далее сбой функции acpi_nfit_init() приводит к сбою функции acpi_nfit_probe(), объект acpi_desc освобождается, а в списке acpi_descs остается повисшая ссылка (dangling pointer). Любое последующее исключение Machine Check Exception (MCE) ACPI вызовет функцию nfit_handle_mce(), которая выполняет итерацию по списку acpi_descs, что приведет к ошибке use-after-free.

Кроме того, если функция acpi_nfit_probe() возвращает 0 после установки обработчика уведомлений для устройства NFIT без выделения объекта acpi_desc и установки указателя данных драйвера для устройства NFIT, объект acpi_desc будет выделен функцией acpi_nft_update_notify(), и будет вызвана функция acpi_nft_init() для его инициализации. Независимо от того, завершится ли сбоем функция acpi_nfit_init() в этом случае или нет, действие devm для очистки (shutdown) acpi_nft_shutdown() не регистрируется для устройства NFIT, а объект acpi_desc никогда не удаляется из списка acpi_descs. Если объект acpi_desc впоследствии освобождается при удалении драйвера, любое последующее исключение ACPI MCE приведет к ошибке use-after-free, как и в предыдущем случае.

Для решения первой упомянутой выше проблемы необходимо сделать так, чтобы функция acpi_nft_probe() напрямую вызывала функцию acpi_nfit_shutdown() при сбоях функции acpi_nfit_init(), а для решения второй — добавить обратный вызов remove к драйверу и заставить его вызывать acpi_nfit_shutdown(). Также, поскольку теперь возможно передать NULL в функцию acpi_nfit_shutdown() или переданный ей объект acpi_desc может не быть проинициализирован, необходимо добавить проверки на NULL для объекта acpi_desc и его поля nvdimm_bus внутри этой функции, а также заставить функцию acpi_nft_unregister() очищать последнее поле после отмены регистрации шины NVDIMM.

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

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

Linux

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

19.07.2026

Раскрытие

25.07.2026

Модерация

принято

Вход

VDB-383312

EPSS

0.00165

KEV

Нет

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

Очень низкий

Источники

Do you know our Splunk app?

Download it now for free!