The Xtensa MMU userspace port never initialized the per-thread page-table pointer thread->arch.ptables during thread setup, while…
CVE-2026-90586
The Xtensa MMU userspace port never initialized the per-thread page-table pointer thread->arch.ptables during thread setup, while archmemdomainthreadadd() in arch/xtensa/core/ptables.c uses a non-NULL value of that field as its "this thread is migrating from another memory domain" predicate. For a thread whose struct kthread backing memory is not zeroed, the field holds stale data and the kernel takes the migration branch, passing that stale value to resetregion() as the base of a level-1 page table. The equivalent field on x86 is explicitly cleared in zx86userspacepreparethread() for exactly this reason; the Xtensa port adopted the predicate without the initialization. The condition is reachable from an unprivileged user-mode thread on a build with CONFIGXTENSAMMU, CONFIGUSERSPACE and dynamically allocated kernel objects. kobjectalloc(KOBJTHREAD) is a system call and allocates the thread object from the caller's resource pool without zeroing it, and the kthreadcreate() verifier accepts such an object while forcing the KUSER option, so the migration branch is taken whenever the recycled heap bytes at that offset are non-zero. Because a user thread can also allocate, fill and free…
Assessment
- CVSS
- 7.8 (v3.1)
- Severity
- High
- Known exploited
- Not listed in CISA KEV
- Exploit availability
- Nothing found in Exploit-DB, Metasploit, Nuclei or public PoC repositories
- Published
- 9 November 2026
- Last updated
- 9 November 2026
- Affected
- zephyrproject · Zephyr
- Assigner
- zephyr
CVSS vectorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
At the source
References
Community proofs of concept
No community proof of concept yet. If you have one for a published vulnerability and the right to share it, add it below — it will appear here once reviewed.
Submit a proof of concept
Only for publicly disclosed vulnerabilities, and only material from testing you were authorised to perform. This platform does not buy, sell, or broker exploits — see earning from vulnerability research for legitimate bounty programs. Submissions are reviewed before they appear. Text only; do not include live credentials, personal data, or anything targeting systems you are not permitted to test.
Query this programmatically
Agents can read this through the MCP endpoint, or over HTTP:
curl https://cve.zerocrew.in/api/cve/CVE-2026-90586