CVE-2026-14367
Received Received - Intake

Race Condition in I3C IBI Subsystem Leads to Memory Corruption

Vulnerability report for CVE-2026-14367, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-31

Last updated on: 2026-08-31

Assigner: Zephyr Project

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 Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-31
Last Modified
2026-08-31
Generated
2026-08-31
AI Q&A
2026-08-31
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
zephyrproject zephyr to 4.4.1 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-362 The product contains a concurrent code sequence that requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence operating concurrently.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a race condition in the I3C IBI subsystem of Zephyr RTOS where statically-allocated work nodes are managed through a free-list without synchronization. The issue occurs because the free-list uses sys_slist_t, which lacks locking mechanisms. Interrupt Service Routine (ISR) contexts call sys_slist_get() to allocate nodes, while the workqueue thread calls sys_slist_append() to return nodes to the free-list. Without proper synchronization, concurrent access can corrupt the list, leading to double allocations, lost nodes, or invalid pointer dereferences.

Detection Guidance

This vulnerability is specific to Zephyr RTOS systems using I3C IBI subsystems. Detection requires checking the affected Zephyr versions (3.2.0 to 4.4.1) and examining the I3C IBI work node management code for the race condition in free-list operations.

Impact Analysis

An attacker with physical access to the I3C bus could exploit this by timing interrupts to collide with free operations. The most likely impact is a system crash or hang (denial of service). Memory corruption is possible but difficult to control. Exploitation requires precise timing and physical access to the bus.

Compliance Impact

This vulnerability does not directly impact compliance with GDPR or HIPAA as it is a low-severity race condition in the Zephyr RTOS I3C IBI subsystem. It requires physical access to exploit and primarily causes denial of service or memory corruption, not data breaches or unauthorized access to sensitive information.

Mitigation Strategies

Upgrade Zephyr RTOS to version 4.4.2 or later to apply the fix. If upgrading is not immediately possible, apply the patch from commit e87e7e2ac7c5ded0af3fb5934518cc5688e458cc to add k_spinlock protection to I3C IBI work node operations.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-14367. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart