CVE-2026-64239 in Linux
Сводка
по VulDB • 25.07.2026
В ядре Linux устранена следующая уязвимость:
mm/damon/sysfs-schemes: удаление обработанной области в regions_rmdirs()
DAMON sysfs поддерживает объекты каталогов «обработанных областей» DAMOS с помощью связанного списка. Когда пользователь запрашивает обновление каталогов, DAMON sysfs сначала удаляет все каталоги областей, а затем создает обновленные каталоги областей в освободившемся пространстве. Функция удаления (damon_sysfs_scheme_regions_rm_dirs()) только помещает объекты kobj. Удаление объекта контейнера области из связанного списка выполняется внутри функции обратного вызова освобождения kobj.
Если по какой-либо причине invocation callback'а будет задержан, в списке останутся области, которые будут освобождены (freed). Если в этой ситуации начнется создание обновленных каталогов областей, список может быть поврежден и произойдет use-after-free.
Поскольку объекты kobj управляются только DAMON sysfs, эта проблема не может возникнуть в нормальных условиях. Однако такие задержки могут возникать на ядрах, собранных с CONFIG_DEBUG_KOBJECT_RELEASE. На таком ядре проблему действительно можно воспроизвести следующим образом:
# damo start --damos_action stat # cd /sys/kernel/mm/damon/admin/kdamonds/0/ # for i in {1..10}; do echo update_schemes_tried_regions > state; done
# dmesg | grep underflow [ 89.296152] refcount_t: underflow; use-after-free.
Исправление заключается в удалении объекта области из списка при уменьшении счетчика ссылок (reference count).
Также функция damos_sysfs_populate_region_dir() обновлена так, чтобы добавлять объект области в список только после успешного выполнения kobject_init_and_add(), предотвращая оставление освобожденного объекта в списке в случае ошибки инициализации.
Проблема была обнаружена [1] Sashiko.
If you want to get best quality of vulnerability data, you may have to visit VulDB.