PatchSiren cyber security CVE debrief
CVE-2026-10681 zephyrproject CVE debrief
A medium-severity vulnerability was found in Zephyr's userspace dynamic-objects subsystem. The flaw, CVE-2026-10681, allows two user-mode threads to alias a single bit position in every kernel object's perms[] bitfield, defeating userspace ACL isolation. This issue is reachable from any user-mode thread via the unrestricted __syscall k_object_alloc and is gated on CONFIG_USERSPACE, CONFIG_DYNAMIC_OBJECTS, and CONFIG_SMP. The defect was introduced when the per-thread permission index was added in 2018 and is present in every release up to and including v4.4.0.
- Vendor
- zephyrproject
- Product
- zephyr
- CVSS
- MEDIUM 6.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-07-25
- Original CVE updated
- 2026-07-25
- Advisory published
- 2026-07-25
- Advisory updated
- 2026-07-25
Who should care
Users of Zephyr's userspace dynamic-objects subsystem, especially those with SMP systems and CONFIG_USERSPACE, CONFIG_DYNAMIC_OBJECTS, and CONFIG_SMP enabled, should review their configurations and update to Zephyr version v4.4.1 or later. Affected operators, platforms, vulnerability-management teams, and security teams should prioritize patching and review compensating controls for exposed systems.
Technical summary
In Zephyr's userspace dynamic-objects subsystem, thread_idx_alloc() in kernel/userspace/userspace.c allocated a new thread permission index from the global _thread_idx_map[] bitmap without holding lists_lock. On SMP systems, two user-mode threads invoking the k_object_alloc(K_OBJ_THREAD) syscall concurrently can both observe the same low free bit, perform the same non-atomic RMW to clear it, and return the identical tidx. The two newly created K_OBJ_THREAD objects are then assigned the same thread_id, so the two user threads alias a single bit position in every kernel object's perms[] bitfield: any subsequent grant of access on a kernel object to one thread is implicitly a grant to the other, defeating userspace ACL isolation. A secondary lost-update window between the unlocked &=~BIT() in alloc and the locked |= BIT() in thread_idx_free() can also leak entries from the thread-index pool.
Defensive priority
Medium
Recommended defensive actions
- Apply the official patch or update to Zephyr version v4.4.1 or later
- Review and update CONFIG_USERSPACE, CONFIG_DYNAMIC_OBJECTS, and CONFIG_SMP configurations
- Monitor system logs for potential exploitation attempts
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
- Review the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance
- Plan vendor-supported updates or mitigations through normal change control where exposure is confirmed
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
Evidence notes
The CVE record was published on 2026-07-25T14:16:28.957Z and has not been modified since then. The NVD entry is currently 6.5 (MEDIUM). Evidence is limited to public sources and may not reflect the full scope or impact of the vulnerability. Defenders should verify affected systems and review vendor guidance for specific configurations and mitigations.
Official resources
AI-assisted PatchSiren debrief based on the supplied source corpus. The CVE record was published on 2026-07-25T14:16:28.957Z and has not been modified since then.