CVE-2026-12365
Last modified
CVE-2026-12365 is a medium-severity vulnerability rated 5.8/10 on the CVSS scale. A use-after-free exists in the Zephyr second-generation work queue (kernel/work.c) in the handling of delayable work timeouts. When a delayable work item's timeout has been dequeued and its handler work_timeout() is in flight (blocked acquiring the work-queue spinlock), a concurrent cancellation does not wait for that handler to finish. EPSS estimates a 0.10% chance of exploitation in the next 30 days.
Description
A use-after-free exists in the Zephyr second-generation work queue (kernel/work.c) in the handling of delayable work timeouts. When a delayable work item's timeout has been dequeued and its handler work_timeout() is in flight (blocked acquiring the work-queue spinlock), a concurrent cancellation does not wait for that handler to finish. In unschedule_locked() the pre-fix code called z_abort_timeout(), which for an already-announcing record returns -EINVAL without removing it; cancel_async_locked() then observes the work as idle, so even k_work_cancel_delayable_sync() and k_work_flush_delayable() return without blocking on the in-flight handler. Because those are the APIs the kernel header documents as the safe way to cancel before freeing a k_work_delayable, a caller that frees the object immediately after a successful sync cancel can race the still-pending handler. work_timeout() subsequently dereferences the freed record: it reads to->dticks via z_is_timeout_handler_canceled() and, if the freed slot has been reused so the bail check fails, performs a read-modify-write of wp->flags (K_WORK_DELAYED_BIT) and submits work against a stale dw->queue pointer — a use-after-free read and write. The k_work API is kernel-mode only (no __syscall entry point), so this is a kernel-internal concurrency defect rather than a userspace privilege escalation. Triggering it requires an SMP build and a subsystem that schedules and then frees (or reschedules) a delayable work item in the narrow window while its timeout is announcing; an attacker able to influence the timing of such teardown (for example via connection churn driving subsystem timers) has a plausible but probabilistic path. The impact is kernel memory corruption or crash (denial of service). The fix makes unschedule_locked() wait, by spinning on z_try_abort_timeout() returning -EAGAIN while releasing and re-acquiring the work spinlock, until any in-flight handler completes before returning, and switches work_timeout() to atomic K_WORK_DELAYED_BIT ownership. This closes both the free-then-handler use-after-free and the related reschedule early-fire race.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| zephyrproject | zephyr | >= 2.6.0, < 4.5.0 |
References
Timeline
- Published
- Last Modified
- Status
- Awaiting Analysis
Frequently Asked Questions
What is CVE-2026-12365?
How severe is CVE-2026-12365?
How do I fix CVE-2026-12365?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-12358IBM Verify Identity Access could allow a remote attacker to …7.5
- CVE-2026-12359IBM Security Verify Access 10.0 through 10.0.9.2 and IBM Ver…8.1
- CVE-2026-1236The Envira Gallery for WordPress plugin for WordPress is vul…6.4
- CVE-2026-12360The JetEngine plugin for WordPress is vulnerable to SQL inje…7.5
- CVE-2026-12363The LoRaWAN Fragmented Data Block Transport service (subsys/…4.2
- CVE-2026-12364The user-space system-call verifier z_vrfy_z_log_msg_static_…8.4
- CVE-2026-12366Zephyr's dynamic kernel-object disposal path unref_check() i…8.8
- CVE-2026-1237Vulnerable cross-model authorization in juju. If a charm's c…2.1
- CVE-2026-12370ZohoCorp ManageEngine OpManager, NetFlow Analyzer, and Netwo…7.6
- CVE-2026-12372A Server-Side Request Forgery (SSRF) vulnerability exists in…3.7
- CVE-2026-12374Improper certificate validation and a time-of-check time-of-…6.4
- CVE-2026-12375The uncanny-automator-pro WordPress plugin before 7.3.0.6 wa…9.8
Are you affected by CVE-2026-12365?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
