CVE-2026-10667: SMP use-after-free in Zephyr `CONFIG_USERSPACE` dynamic kernel-object tracking, reachable from unprivileged user threads

Published Jul 12, 2026
·
Updated

Zephyr's dynamic kernel-object tracking (kernel/userspace/userspace.c, formerly kernel/userspace.c) maintains a doubly-linked list (objlist) of dynamically allocated kernel objects. Iteration over this list in kobjectwordlistforeach() was performed under listslock using the SAFE iterator (which caches the next node), but list removal and freeing of nodes was performed under different, disjoint spinlocks: objfreelock in kobjectfree() and objlock in unrefcheck(). On an SMP system, while one CPU iterated objlist under listslock, another CPU could unlink and kfree() the dynobj node that the iterator had cached as its next pointer, causing the iterator to dereference freed kernel memory (use-after-free / dangling list traversal). All of the racing operations are reachable from unprivileged user-mode threads via system calls: kobjectalloc/kobjectallocsize and kobjectrelease drive removals through unrefcheck() (under objlock), while kthreadabort and thread creation drive the iteration through kthreadpermsallclear()/kthreadpermsinherit() (under listslock). A deprivileged user thread on a CONFIGSMP + CONFIGUSERSPACE build can therefore corrupt the kernel's object-tracking structures across the userspace security boundary, yielding kernel memory corruption (potential privilege escalation) or a kernel crash (denial of service). The fix removes objfreelock and serializes every objlist modification under listslock, including holding it across find+remove in kobjectfree() and around unrefcheck() in kthreadpermsclear(). Affects CONFIGSMP+CONFIGUSERSPACE+CONFIGDYNAMICOBJECTS configurations; the defect dates to the 2019 spinlockification (commit 8a3d57b6cc6, first released in v1.14.0) and shipped through v4.4.0.

Affected Software

2 affected components
Zephyr Project Zephyr>=1.14.0<=4.4.0
zephyrproject zephyr>=1.14.0<=4.4.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Patch commit 8a3d57b6cc6
  2. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in v1.14.0
  3. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in v4.4.0
  4. Configuration

    Apply the code fix that removes objfree_lock and ensures all obj_list modifications are performed while holding lists_lock—specifically hold lists_lock across find+remove in k_object_free() and hold lists_lock around unref_check() / k_thread_perms_clear() operations that iterate or clear thread permission state.

    Zephyr dynamic kernel-object tracking (kernel/userspace/userspace.c) obj_list synchronization strategy = Serialize every obj_list modification under lists_lock; remove objfree_lock usage

Event History

Jul 12, 2026
CVE Published
via MITRE·04:16 PM
Data Sourced
via MITRE·04:16 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·05:16 PM
RemedyDescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-10667?

CVE-2026-10667 has a high severity rating of 7.8.

2

How do I fix CVE-2026-10667?

To mitigate CVE-2026-10667, update Zephyr to the latest version that includes the patch for this vulnerability.

3

What types of attacks are possible due to CVE-2026-10667?

CVE-2026-10667 could allow an unprivileged user thread to exploit use-after-free vulnerabilities within Zephyr's kernel-object tracking.

4

Which software is affected by CVE-2026-10667?

CVE-2026-10667 affects the Zephyr Project's operating system.

5

What is the impact of CVE-2026-10667 on system security?

The impact of CVE-2026-10667 could lead to system crashes and unauthorized access to sensitive memory areas, compromising system integrity and availability.

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