# CVE-2026-90586: Xtensa MMU uninitialized page-table pointer in userspace thread setup

Source: https://junglewise.ai/threats/cve-2026-90586-the-xtensa-mmu-userspace-port-never-initialized-the-per-thread  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-09. Updated: 2026-11-12  
License: CC BY 4.0 with a link back

CVE-2026-90586 · Severity: high · CVSS 7.8 · Published 2026-11-09

The Xtensa processor's memory management unit (MMU) in user-mode thread handling fails to initialize a critical pointer, allowing unprivileged users to allocate and manipulate kernel memory structures. An attacker can read and write kernel memory out-of-bounds, leading to kernel panics or complete sandbox escape with full system compromise.

Technologies: [Zephyr RTOS](https://junglewise.ai/threats/technologies/rtos). Vendors: [Zephyr](https://junglewise.ai/threats/vendors/zephyr).

## Quick answers

**Is CVE-2026-90586 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-90586 being exploited in the wild.

**How severe is CVE-2026-90586?** High severity, with a CVSS score of 7.8, published 9 November 2026.

**Which products and versions are affected?** Zephyr RTOS Xtensa MMU userspace configurations with CONFIG_XTENSA_MMU and CONFIG_USERSPACE.

**Is there a fix for CVE-2026-90586?** 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-90586 attacked?** It is attacked with local access, in an operating system.

**Am I affected by CVE-2026-90586?** Check whether you run Zephyr RTOS at an affected version. 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

The Xtensa MMU userspace port does not zero the thread->arch.ptables field during thread creation, but arch_mem_domain_thread_add() uses a non-NULL value as a predicate for memory domain migration. An attacker exploits this by recycling heap memory through k_object_alloc(K_OBJ_THREAD) to inject stale page-table pointers, triggering unguarded indexing and pointer dereferences in supervisor mode via region_map_update() and dup_l2_table_if_needed(). The vulnerability requires CONFIG_XTENSA_MMU, CONFIG_USERSPACE, and dynamically allocated kernel objects.

## Affected products

- Zephyr Zephyr RTOS Xtensa MMU userspace configurations with CONFIG_XTENSA_MMU and CONFIG_USERSPACE

## Timeline

- 2026-11-09: disclosed

## Related threats

- [Zephyr RFCOMM multiplexer buffer overflow and information disclosure](https://junglewise.ai/threats/cve-2026-77685-the-rfcomm-multiplexer-control-channel-handler-in-subsys)
- [Zephyr HTTP/2 server NULL pointer dereference in stream binding](https://junglewise.ai/threats/cve-2026-87045-the-http-2-server-in-subsys-net-lib-http-http-server-http2-c)
- [Zephyr RTIO submission-queue verifier memory access bypass](https://junglewise.ai/threats/cve-2026-87041-the-rtio-submission-queue-verifier-rtio-vrfy-sqe-in-subsys-rtio)
- [Zephyr i3c_transfer TOCTOU privilege escalation](https://junglewise.ai/threats/cve-2026-87038-the-user-mode-verification-handler-for-the-i3c-transfer-system)
- [Zephyr Bluetooth Classic AVDTP memory corruption in work queue](https://junglewise.ai/threats/cve-2026-85036-the-bluetooth-classic-avdtp-layer-defers-releasing-a-session-s)
