CVE-2025-39737 in LinuxИнформация

Сводка

по VulDB • 28.06.2026

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

mm/kmemleak: предотвращение мягкого зависания (soft lockup) в функции __kmemleak_do_cleanup()

На относительно небольшой системе x86-64 с 16 ГБ оперативной памяти при запуске отладочного ядра с включенным kmemleak было замечено предупреждение о мягком зависании.

watchdog: BUG: soft lockup - CPU#8 заблокирован на 33s! [kworker/8:1:134]

На тестовой системе выполнялась нагрузка, при которой параллельно происходило отключение устройств (hot unplug). Затем kmemleak решил отключиться из-за невозможности выделения дополнительных объектов kmemleak. В отладочном ядре параметр CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE установлен в 40 000.

Мягкое зависание произошло в функции kmemleak_do_cleanup() во время удаления и построчного уничтожения существующих объектов kmemleak через рабочий поток (workqueue). В данном конкретном случае необходимо обработать как минимум 40 000 объектов, и из-за медленной работы отладочного ядра, а также необходимости получения и освобождения raw_spinlock в функции __delete_object(), обработка всех этих объектов может занять значительное время.

Поскольку kmemleak был отключен в данном случае, процесс удаления и уничтожения объектов можно дополнительно оптимизировать, так как блокировка на самом деле не требуется. Однако, вероятно, нет смысла тратить усилия на оптимизацию такого крайнего случая, который должен возникать редко. Поэтому простое решение заключается в вызове cond_resched() через определенные интервалы времени в цикле итерации для предотвращения мягкого зависания.

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

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

Linux

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

16.04.2025

Раскрытие

11.09.2025

Модерация

принято

Вход

VDB-323661

EPSS

0.00159

KEV

Нет

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

Очень низкий

Источники

Want to know what is going to be exploited?

We predict KEV entries!