Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…
EPSS 0.1%top 98%

CVE-2026-10635: use-after-free in zephyrproject zephyr

0
Medium
VulnerabilityCVE-2026-10635cvecve-2026-10635
Published: Tue Jun 16 2026 (06/16/2026, 05:19:20 UTC)
Source: CVE Database V5
Vendor/Project: zephyrproject
Product: zephyr

Description

On Xtensa targets with CONFIG_USERSPACE and CONFIG_XTENSA_MMU, the page-table code (arch/xtensa/core/ptables.c) maintains a global list, xtensa_domain_list, of active memory domains using a list node embedded inside the caller-owned struct k_mem_domain. When a domain is destroyed via k_mem_domain_deinit() - arch_mem_domain_deinit(), the page tables are torn down and domain-arch.ptables is set to NULL, but the domain's node was not removed from xtensa_domain_list. 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 arch_mem_map()/arch_mem_unmap() 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 k_mem_domain 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 (l2_page_table_map writes l1_table[...] and l2_table[...], and xtensa_mmu_compute_domain_regs 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 (k_mem_domain_deinit 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 sys_slist_find_and_remove() in arch_mem_domain_deinit(). The Xtensa MPU path is unaffected.

CVSS v3.1

Score 6.3medium

Attack Vector
Local
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
High
Availability
High
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:H

Affected software

GitHub Actionsmore threats →cve
zephyr
pkg:github/zephyr
Affected versions
>=4.4.0 <4.5.0

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 06/16/2026, 06:15:36 UTC

Technical Analysis

On Xtensa targets with CONFIG_USERSPACE and CONFIG_XTENSA_MMU, Zephyr's page-table code maintains a global list of active memory domains using a node embedded inside the caller-owned k_mem_domain struct. When a memory domain is destroyed via k_mem_domain_deinit(), the domain's node is not removed from the global xtensa_domain_list, leaving a dangling pointer. Subsequent arch_mem_map() or arch_mem_unmap() operations traverse this stale node and dereference a NULL or stale ptables pointer, causing either a fatal MMU exception (denial of service) or use-after-free memory corruption. This can undermine userspace isolation. The vulnerable code path is only accessible from privileged kernel code, not from unprivileged or remote sources. The vulnerability was introduced in Zephyr v4.4.0 and fixed on the main branch by adding sys_slist_find_and_remove() to properly remove the node during domain deinitialization. The Xtensa MPU path is unaffected.

Potential Impact

This vulnerability can cause denial of service via a fatal MMU exception due to NULL pointer dereference or memory corruption through use-after-free during page-table operations. The memory corruption can undermine userspace isolation, potentially impacting system security. However, exploitation requires privileged kernel access, limiting the attack surface. There are no known exploits in the wild.

Mitigation Recommendations

A fix has been applied on the main development branch of Zephyr by properly removing the stale node from the global list during memory domain deinitialization. Users should upgrade to a Zephyr version including this fix (post-4.5.0). Since the vulnerability is not reachable from unprivileged or remote code, limiting privileged code modifications and applying the official patch when available are the primary mitigations. Patch status is not yet confirmed in the provided data; check the Zephyr vendor advisory for current remediation guidance.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Data Version
5.2
Assigner Short Name
zephyr
Date Reserved
2026-06-02T15:10:51.941Z
Cvss Version
3.1
State
PUBLISHED
Remediation Level
null

Threat ID: 6a30e6730b89be68884f4f52

Added to database: 6/16/2026, 6:00:19 AM

Last enriched: 6/16/2026, 6:15:36 AM

Last updated: 6/17/2026, 5:00:29 AM

Views: 16

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses