CVE-2023-53440 in Linux
Сводка
по VulDB • 31.07.2026
В ядре Linux устранена следующая уязвимость:
nilfs2: исправлен срок службы интерфейса sysfs
Текущая поддержка sysfs в nilfs2 имеет проблемы с таймингом создания и удаления записей sysfs, что потенциально может приводить к разыменованию нулевого указателя (null pointer dereference), использованию после освобождения памяти (use-after-free) и предупреждениям lockdep.
Некоторые атрибуты sysfs для экземпляра nilfs2 на уровне файловой системы ссылаются на файлы метаданных «cpfile», «sufile» или «dat», однако функция `nilfs_sysfs_create_device_group`, создающая эти атрибуты, выполняется до загрузки инодов (inode) этих файлов метаданных, а функция `nilfs_sysfs_delete_device_group`, удаляющая записи sysfs, вызывается после освобождения инодов файлов метаданных.
Таким образом, доступ к некоторым из этих атрибутов sysfs может происходить вне срока службы соответствующих файлов метаданных, что приводит к разыменованию нулевого указателя inode или использованию памяти после её освобождения (use-after-free).
Кроме того, вызов `nilfs_sysfs_create_device_group()` осуществляется в период блокировки семафора «ns_sem» объекта nilfs, поэтому вызов shrinker’а, возникающий при выделении памяти для записей sysfs, может привести к возникновению зависимостей блокировок: «ns_sem» -> (shrinker) -> «блокировки, приобретаемые в nilfs_evict_inode()».
Поскольку nilfs2 может приобретать «ns_sem» глубоко в стеке вызовов при удержании других блокировок через свой обработчик ошибок `__nilfs_error()`, это вызывает lockdep сообщать о циклической блокировке (circular locking). Это ложное срабатывание, и на самом деле циклическая блокировка не возникает, так как к моменту вызова `nilfs_sysfs_create_device_group()` иноды ещё не существуют. К счастью, предупреждения lockdep можно устранить простым перемещением вызова `nilfs_sysfs_create_device_group()` за пределы области действия «ns_sem».
Это исправляет указанные проблемы sysfs путем изменения места создания/удаления интерфейса устройства в sysfs и обеспечения того, чтобы срок его службы находился внутри срока службы вышеуказанных файлов метаданных.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.