CVE-2026-10677 in Zephyrinformação

Sumário

de VulDB • 22/07/2026

O verificador de syscall CONFIG_USERSPACE z_vrfy_k_poll() em kernel/poll.c aloca uma cópia no lado do kernel dos dados fornecidos pelo usuário, k_poll_event[], via z_thread_malloc(), e então valida o handle do objeto de cada evento. Antes desta correção, a validação utilizava K_OOPS(K_SYSCALL_OBJ(...)) inline dentro do loop, o que encerrava abruptamente (kills) a thread chamante sem liberar events_copy.

Uma thread de usuário pode passar num_events >= 1 com um handle de objeto forjado para vazar (leak) a alocação; como threads de usuário recém-criadas herdam resource_pool do pai (kernel/thread.c), um atacante cria threads sacrificiais para repetir o vazamento até que o heap compartilhado do kernel seja esgotado. Uma vez esgotado, as alocações legítimas no kernel provenientes desse pool (nós de k_queue alloc, buffers de k_msgq, futuras chamadas a k_poll, etc.) falham, causando uma negação de serviço em nível de sistema.

A correção substitui cada K_OOPS inline por um goto condicional para oops_free, garantindo que o buffer seja liberado antes da thread ser encerrada. Afeta as versões do Zephyr desde a v1.12.0 (quando k_poll foi exposto pela primeira vez ao modo usuário) até a v4.4.1.

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

Responsável

Zephyr

Reservar

02/06/2026

Divulgação

22/07/2026

Moderação

aceite

Entrada

VDB-381101

CPE

pronto

EPSS

0.00107

KEV

não

Atividades

muito baixo

Fontes

Do you know our Splunk app?

Download it now for free!