CVE-2026-14367: race in zephyrproject zephyr
Description
The I3C IBI subsystem in drivers/i3c/i3c_ibi_workq.c hands out statically-allocated work nodes through a free-list i3c_ibi_work_nodes_free implemented as a plain sys_slist_t, which provides no synchronization. The allocation helpers (i3c_ibi_work_enqueue, i3c_ibi_work_enqueue_target_irq, i3c_ibi_work_enqueue_hotjoin, i3c_ibi_work_enqueue_controller_request, i3c_ibi_work_enqueue_cb) called sys_slist_get() directly from ISR context, while the workqueue handler i3c_ibi_work_handler() returned nodes with sys_slist_append() from the workqueue thread, with no lock on either side. Because sys_slist_get() and sys_slist_append() are neither atomic nor interrupt-safe, an IBI interrupt that fires while the workqueue thread is mid-append (or a truly parallel access under CONFIG_SMP) races on the shared list. This corrupts the list linkage: a node may be handed to two consumers, a node may be lost, or the head/tail pointers may be left inconsistent so sys_slist_get() returns a stale or garbage pointer. In the double-hand-out case the subsequent memcpy(ibi_node, ibi_work, sizeof(*ibi_node)) overwrites a node still in flight; a garbage pointer turns the same memcpy into an out-of-bounds write. The race is driven by I3C bus traffic — IBIs, hot-joins, and controller-role requests originate from target devices on the bus, and I3C supports hot-joining devices. An attacker controlling an I3C peripheral on the board's chip-to-chip bus can generate high-frequency interrupts timed to collide with the free operation. Exploitation requires physical access to the bus and winning a narrow timing window; the most realistic impact is a crash or hang (denial of service), with memory corruption possible but hard to control. The fix wraps all free-list sys_slist_get()/sys_slist_append() operations in the new ibi_work_alloc()/ibi_work_free() helpers, each guarded by a k_spinlock (ibi_work_lock), closing the race across ISR and thread contexts.
CVSS v3.1
Score 3.1low
Affected software
zephyrproject
zephyr
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The I3C IBI subsystem in Zephyr's driver code uses a free-list implemented as a plain sys_slist_t without synchronization. Allocation and freeing of work nodes occur in both ISR and workqueue thread contexts without locks, causing a race condition. This race can corrupt the list, resulting in nodes being handed out multiple times, lost nodes, or stale pointers leading to out-of-bounds writes. The race is triggered by I3C bus traffic such as IBIs, hot-joins, and controller requests, which an attacker controlling an I3C peripheral can generate. Exploitation requires physical access and precise timing. The patch introduces k_spinlock-guarded helper functions to serialize access and close the race.
Potential Impact
The vulnerability can cause denial of service through system crashes or hangs due to corrupted list structures. Memory corruption is possible but exploitation is difficult due to the narrow timing window and requirement for physical access to the I3C bus. There is no confidentiality impact, and integrity impact is limited to potential memory corruption. The CVSS score is low (3.1) reflecting the high attack complexity and limited impact scope.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix involves wrapping all free-list operations with spinlock-guarded helper functions to prevent races. Until an official patch or update is available, mitigating this vulnerability requires restricting physical access to the I3C bus and minimizing exposure to untrusted peripherals capable of generating high-frequency interrupts.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- zephyr
- Date Reserved
- 2026-07-01T19:30:20.135Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6a95c9fbacd9273b49730091
Added to database: 08/31/2026, 18:37:47 UTC
Last enriched: 09/07/2026, 14:56:08 UTC
Last updated: 10/13/2026, 18:48:17 UTC
Views: 84
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.