Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-12366— Use-after-free freeing an armed dynamically-allocated k_timer in Zephyr userspace object disposal

Quick assessment

Affected
zephyrproject zephyr
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Zephyr Project zephyr是Zephyr Project组织开源的一个面向物联网设备的实时操作系统。 Zephyr Project zephyr 1.12.0版本至4.5.0之前版本存在资源管理错误漏洞,该漏洞源于动态内核对象释放路径在清理对象时未处理K_OBJ_TIMER类型,导致释放后重用,可能允许攻击者造成内核堆内存破坏,实现沙箱逃逸和权限提升。

CVSS 8.8 · High EPSS 0.17% · P5

Affected Version Matrix 1

VendorProduct Version RangeStatus
zephyrproject zephyr 1.12.0< 4.5.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-12366

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Use-after-free freeing an armed dynamically-allocated k_timer in Zephyr userspace object disposal
Source: CVE Program / CVE List V5
Vulnerability Description
Zephyr's dynamic kernel-object disposal path unref_check() in kernel/userspace/userspace.c frees an object's storage (k_free(dyn->data)) once its reference count reaches zero, after running a per-object-type cleanup. The cleanup switch handled only K_OBJ_MSGQ and K_OBJ_STACK; there was no K_OBJ_TIMER case. A dynamically-allocated, initialized, and armed k_timer keeps its embedded struct _timeout dnode linked in the global timeout queue (_timeout_q), so freeing the timer storage without cancelling the timeout leaves a dangling node in that queue. When the timer next expires, the timeout machinery walks _timeout_q and invokes z_timer_expiration_handler() on the freed node, dereferencing and writing freed (and reusable) kernel heap in kernel/ISR context. This is a deterministic use-after-free that does not depend on SMP: the queued node is simply never unlinked at free time. The disposal is reachable from an unprivileged user thread under CONFIG_USERSPACE + CONFIG_DYNAMIC_OBJECTS: a thread that holds the last permission on such a timer drops it via the k_object_release() syscall (or by exiting, through k_thread_perms_all_clear()), and can arm the timer itself via the k_timer_start() syscall. The free and the expiration handler run at kernel privilege while the actor is a user thread, so the bug is a sandbox-escape memory-corruption primitive usable for privilege escalation. The fix adds k_timer_cleanup() (cancel the timeout and wait for any in-flight handler) and calls it for K_OBJ_TIMER before freeing.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
释放后使用
Source: CVE Program / CVE List V5
Vulnerability Title
Zephyr Project zephyr 资源管理错误漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Zephyr Project zephyr是Zephyr Project组织开源的一个面向物联网设备的实时操作系统。 Zephyr Project zephyr 1.12.0版本至4.5.0之前版本存在资源管理错误漏洞,该漏洞源于动态内核对象释放路径在清理对象时未处理K_OBJ_TIMER类型,导致释放后重用,可能允许攻击者造成内核堆内存破坏,实现沙箱逃逸和权限提升。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
zephyrproject zephyr 1.12.0 ~ 4.5.0 -

II. Public POCs for CVE-2026-12366

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-12366

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-12366 (1)

Vendor Advisories for CVE-2026-12366 (1)

Same Patch Batch · zephyrproject · 2026-08-14 · 4 CVEs total

CVE-2026-12364 8.4 HIGH Missing user-space pointer validation in logging syscall z_log_msg_static_create allows ke
CVE-2026-12365 5.8 MEDIUM Use-after-free in Zephyr delayable work-queue cancellation under SMP timing race
CVE-2026-12363 4.2 MEDIUM Out-of-bounds write in LoRaWAN fragmented transport from a fragment index of 0

IV. Related Vulnerabilities

V. Comments for CVE-2026-12366

No comments yet


Leave a comment