CVE-2026-90589: Zephyr kernel thread stack memory leak via k_thread_abort

CVE-2026-90589 · Severity: medium · CVSS 5.5 · Published 2026-11-09

Zephyr is a real-time operating system kernel used in embedded and IoT devices. When a thread is forcibly terminated by another thread in certain configurations, the kernel fails to release the thread's stack memory, causing a gradual exhaustion of the kernel's virtual address space. After a few hundred forced thread terminations, the kernel runs out of memory and crashes, rendering the device unable to recover without a reboot.

Technologies: Zephyr OS. Vendors: Zephyr.

Quick answers

Is CVE-2026-90589 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-90589 being exploited in the wild.
How severe is CVE-2026-90589?
Medium severity, with a CVSS score of 5.5, published 9 November 2026.
Which products and versions are affected?
Zephyr Zephyr OS.
Is there a fix for CVE-2026-90589?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-90589 attacked?
It is attacked with local access, in an operating system.
Am I affected by CVE-2026-90589?
Check whether you run Zephyr OS. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

When CONFIG_THREAD_STACK_MEM_MAPPED is enabled, thread stacks are guarded by memory-mapped pages. The k_thread_abort_cleanup() function has two code paths: self-abort (which correctly unmaps the stack) and abort-by-another-thread (which incorrectly fails to unmap the target thread's stack). On x86 targets with memory-mapped stacks enabled and unprivileged userspace, an attacker can repeatedly create and abort threads to leak kernel virtual address space until k_mem_map_phys_guard() fails, causing thread creation to fault in kernel mode.

Affected products

  • Zephyr Zephyr OS

Timeline

  • 2026-11-09: disclosed

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.