Cyber Resilience

CVE-2026-10667

Memory Safety in Zephyrproject Zephyr 1.14.0 – 4.4.1

Public PoCMemory Safety
Published
12 July 2026
Modified
16 July 2026
Patch / advisory
CVSS Score v3.1 7.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
EPSS Score 0.0015 5th percentile
Risk Priority 55 floored blend · peak EPSS

Summary

CVE-2026-10667 is a high-severity Use After Free (CWE-416) vulnerability in Zephyrproject Zephyr. Its CVSS base score is 7.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 5th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and SC-3 (Security Function Isolation) — see the control section below for these in your framework.

EU & UK References

Vulnerability Data

Zephyr's dynamic kernel-object tracking (kernel/userspace/userspace.c, formerly kernel/userspace.c) maintains a doubly-linked list (obj_list) of dynamically allocated kernel objects. Iteration over this list in k_object_wordlist_foreach() was performed under lists_lock using the SAFE iterator (which caches the next node), but list removal and…

more

freeing of nodes was performed under different, disjoint spinlocks: objfree_lock in k_object_free() and obj_lock in unref_check(). On an SMP system, while one CPU iterated obj_list under lists_lock, another CPU could unlink and k_free() the dyn_obj 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: k_object_alloc/k_object_alloc_size and k_object_release drive removals through unref_check() (under obj_lock), while k_thread_abort and thread creation drive the iteration through k_thread_perms_all_clear()/k_thread_perms_inherit() (under lists_lock). A deprivileged user thread on a CONFIG_SMP + CONFIG_USERSPACE 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 objfree_lock and serializes every obj_list modification under lists_lock, including holding it across find+remove in k_object_free() and around unref_check() in k_thread_perms_clear(). Affects CONFIG_SMP+CONFIG_USERSPACE+CONFIG_DYNAMIC_OBJECTS configurations; the defect dates to the 2019 spinlockification (commit 8a3d57b6cc6, first released in v1.14.0) and shipped through v4.4.0.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
Why these techniques?

Use-after-free in kernel object tracking reachable from user-mode system calls on SMP+USERSPACE builds directly enables local kernel exploitation for privilege escalation (or DoS via crash).

Confidence: HIGH · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2026-10635Same product: Zephyrproject Zephyr
CVE-2026-10663Same product: Zephyrproject Zephyr
CVE-2026-10637Same product: Zephyrproject Zephyr
CVE-2026-10638Same product: Zephyrproject Zephyr
CVE-2026-10640Same product: Zephyrproject Zephyr
CVE-2026-10639Same product: Zephyrproject Zephyr
CVE-2026-10655Same product: Zephyrproject Zephyr
CVE-2026-10634Same product: Zephyrproject Zephyr
CVE-2026-10646Same product: Zephyrproject Zephyr
CVE-2026-10636Same product: Zephyrproject Zephyr

Affected Assets

zephyrproject
zephyr
1.14.0 — 4.4.1

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • AC-3 Access Enforcement
  • SC-3 Security Function Isolation
  • SC-39 Process Isolation
Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 3 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V1.4.3

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly enforces kernel object access checks and list operations across the userspace/kernel boundary, preventing the unauthorized unref/free operations that race with iteration.

prevent

Requires isolation of security-critical kernel object tracking structures and their locks from unprivileged user-mode threads that can invoke the racing system calls.

prevent

Enforces process/thread isolation so that user-mode threads cannot concurrently corrupt kernel-internal doubly-linked lists via disjoint spinlocks.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly incorporate memory-safety tooling and reviews that prevent most use-after-free defects.

ID.RA-01 partial match
prevents

Vulnerability identification processes can discover use-after-free issues via scanning or analysis but do not prevent their introduction.

PR.PS-02 partial match
prevents

Routine patching removes known use-after-free instances after they have been introduced in released software.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

detects

Security testing in development can detect use-after-free bugs before release.

prevents

Secure SDLC mandates memory-safety practices that reduce use-after-free defects.

prevents

Application security requirements can specify memory-management rules that mitigate use-after-free.

prevents

Secure architecture principles include memory-safety design choices that limit use-after-free exposure.

prevents

Secure coding standards directly prescribe avoidance of use-after-free patterns.

prevents

Change-management processes help ensure memory-safety fixes are deployed consistently.

References