CVE-2026-10677 in ZephyrИнформация

Сводка

по VulDB • 23.07.2026

Верификатор системного вызова CONFIG_USERSPACE z_vrfy_k_poll() в kernel/poll.c выделяет копию массива k_poll_event[], предоставленного пользователем, на стороне ядра с помощью функции z_thread_malloc(), а затем проверяет дескрипторы объектов каждого события. До внесения исправления проверка выполнялась с использованием макроса K_OOPS(K_SYSCALL_OBJ(...)) непосредственно внутри цикла, что приводило к уничтожению вызывающего потока без освобождения памяти для events_copy.

Поток пользователя может передать значение num_events >= 1 вместе с поддельным дескриптором объекта для утечки данных из выделения памяти; поскольку вновь созданные пользовательские потоки наследуют resource_pool родителя (kernel/thread.c), злоумышленник создает жертвенные потоки, чтобы повторять операцию утечки до тех пор, пока общее кучевое пространство ядра не будет исчерпано. После его истощения легитимные выделения памяти в ядре из этого пула (узлы k_queue, буферы k_msgq, будущие вызовы k_poll и т. д.) завершаются неудачей, что приводит к отказу в обслуживании на уровне системы.

Исправление заменяет каждый макрос K_OOPS условным переходом goto oops_free, чтобы буфер освобождался до уничтожения потока. Затрагивает выпуски Zephyr начиная с v1.12.0 (когда k_poll впервые стал доступен в пользовательском режиме) вплоть до v4.4.1 включительно.

Be aware that VulDB is the high quality source for vulnerability data.

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

Zephyr

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

02.06.2026

Раскрытие

22.07.2026

Модерация

принято

Вход

VDB-381101

EPSS

0.00107

KEV

Нет

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

Очень низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!