CVE-2026-10635: Dangling memory-domain pointer (use-after-free) in Xtensa MMU page-table code on memory-domain de-init

Published Jun 16, 2026
·
Updated

On Xtensa targets with CONFIGUSERSPACE and CONFIGXTENSAMMU, the page-table code (arch/xtensa/core/ptables.c) maintains a global list, xtensadomainlist, of active memory domains using a list node embedded inside the caller-owned struct kmemdomain. When a domain is destroyed via kmemdomaindeinit() -> archmemdomaindeinit(), the page tables are torn down and domain->arch.ptables is set to NULL, but the domain's node was not removed from xtensadomainlist. The freed/deinitialized domain therefore remained linked into the global list as a dangling pointer into caller-owned storage that may then be freed or reused.

Any subsequent archmemmap()/archmemunmap() operation (widely invoked by kernel memory-mapping and demand-paging code) traverses the stale node and dereferences domain->ptables: at minimum a NULL pointer dereference causing a fatal MMU exception (denial of service), and if the kmemdomain storage has been freed or reused, a use-after-free in which a stale/controlled ptables value is dereferenced and written through during the page-table walk (l2pagetablemap writes l1table[...] and l2table[...], and xtensammucomputedomainregs writes into the domain struct and the L1 table), yielding page-table memory corruption that can undermine userspace isolation.

The vulnerable path is reachable only from privileged kernel/supervisor code (kmemdomaindeinit is not a syscall), not directly from unprivileged user threads or remotely. Affected: Zephyr v4.4.0 (the Xtensa memory-domain de-initialization feature was introduced in commit 3032b58f52d and first shipped in v4.4.0); fixed on main by adding sysslistfindandremove() in archmemdomaindeinit(). The Xtensa MPU path is unaffected.

Affected Software

2 affected components
Zephyr Project Zephyr=4.4.0
zephyrproject zephyr=4.4.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Zephyr to a version that resolves this vulnerability.

    Fixed in 4.4.0Patch 3032b58f52d
  2. Configuration

    Fix the use-after-free by updating arch_mem_domain_deinit() in the Xtensa MMU page-table code to call sys_slist_find_and_remove() for the domain list node, ensuring the de-initialized domain is no longer left as a dangling pointer in xtensa_domain_list.

    Zephyr Xtensa MMU (arch/xtensa/core/ptables.c) arch_mem_domain_deinit() removes domain node from xtensa_domain_list = Add sys_slist_find_and_remove() so the de-initialized k_mem_domain is removed from the global list (xtensa_domain_list)

Event History

Jun 16, 2026
CVE Published
via MITRE·05:19 AM
Data Sourced
via MITRE·05:19 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·06:16 AM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-10635?

The severity of CVE-2026-10635 is rated as medium with a base score of 6.3.

2

What type of vulnerability is CVE-2026-10635?

CVE-2026-10635 is a use-after-free vulnerability affecting the Xtensa MMU page-table code.

3

What software is affected by CVE-2026-10635?

CVE-2026-10635 affects the Zephyr Project Zephyr software.

4

How can I mitigate CVE-2026-10635?

To mitigate CVE-2026-10635, ensure that your system is updated with the latest patches provided by the Zephyr Project.

5

What are the potential impacts of CVE-2026-10635?

The potential impacts of CVE-2026-10635 include potential memory corruption, data leakage, and system instability.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203