CVE-2026-10667 in zephyrИнформация

Сводка

по VulDB • 12.07.2026

Динамическое отслеживание объектов ядра в Zephyr (kernel/userspace/userspace.c, ранее kernel/userspace.c) поддерживает двусвязный список (obj_list) динамически выделяемых объектов ядра. Итерация по этому списку в функции k_object_wordlist_foreach() выполнялась под блокировкой lists_lock с использованием безопасного итератора (который кэширует следующий узел), однако удаление узлов из списка и освобождение их памяти осуществлялись под другими, непересекающимися спинлоками: objfree_lock в k_object_free() и obj_lock в unref_check(). На системе SMP во время того как один процессор выполнял итерацию по obj_list под блокировкой lists_lock, другой процессор мог отсоединить узел dyn_obj (который кэшировался итератором как следующий) и вызвать k_free() для него. Это приводило к разыменованию освобожденной памяти ядра итератором (use-after-free / переход по висячему списку). Все операции гонки доступны из непривилегированных потоков пользовательского режима через системные вызовы: функции k_object_alloc/k_object_alloc_size инициируют удаление через unref_check() (под obj_lock), а k_thread_abort и создание потока инициируют итерацию через k_thread_perms_all_clear()/k_thread_perms_inherit() (под lists_lock). Таким образом, поток пользовательского режима с пониженными привилегиями в сборке CONFIG_SMP + CONFIG_USERSPACE может повредить структуры отслеживания объектов ядра за пределами границы безопасности userspace, что приводит к повреждению памяти ядра (потенциальное повышение привилегий) или сбою ядра (отказ в обслуживании). Исправление удаляет objfree_lock и сериализует все модификации obj_list под блокировкой lists_lock, включая удержание этой блокировки при операциях find+remove в k_object_free() и вокруг unref_check() в k_thread_perms_clear(). Затрагивает конфигурации CONFIG_SMP+CONFIG_USERSPACE+CONFIG_DYNAMIC_OBJECTS; дефект появился после внедрения спинлоков в 2019 году (commit 8a3d57b6cc6, впервые выпущенный в v1.14.0) и присутствовал вплоть до версии v4.4.0.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

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

Zephyr

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

02.06.2026

Раскрытие

12.07.2026

Модерация

принято

Вход

VDB-377879

EPSS

0.00000

KEV

Нет

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

Низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!