Impact
The vulnerability occurs when memory-mapped thread stacks are configured. Aborting a thread that was not the current thread fails to unmap its stack page and guard pages, leaving a persistent allocation in kernel virtual address space. Each aborted non-current thread leaks a full stack region, eventually exhausting the limited kernel VM area. The effect is a kernel fatal error that forces a system reboot; no data is disclosed or corrupted, but the system becomes unusable.
Affected Systems
Zephyr RTOS releases that enable CONFIG_THREAD_STACK_MEM_MAPPED in an x86 configuration with X86_MMU and demand paging disabled are affected. Particularly, builds with the default CONFIG_KERNEL_VM_SIZE of 8 MiB are vulnerable, as they allow a few hundred abort loops to deplete the mapping region. The flaw manifests only when explicit cancellation APIs such as k_thread_abort(), pthread_cancel(), osThreadTerminate(), or the kill shell command are used.
Risk and Exploitability
With a CVSS score of 5.5 the vulnerability is considered moderate. EPSS is currently unavailable, and the issue has not been listed as a KEV. The leak can be triggered by any thread that can issue k_thread_abort() on a non-current thread. In typical Zephyr setups, an unprivileged user-mode thread that has been granted a thread object can drive the exploit from user space, consuming kernel resources it cannot otherwise access. The attack requires only normal API usage and does not need privileged escalation, so the likelihood of exploitation is reasonably high in configurations that enable the vulnerable option.
OpenCVE Enrichment