Skip to main content
EPSS 0.1%top 99%

CVE-2026-14367: race in zephyrproject zephyr

0
Low
VulnerabilityCVE-2026-14367cvecve-2026-14367
Published: 08/31/2026 (08/31/2026, 18:13:15 UTC)
Source: CVE Database V5
Vendor/Project: zephyrproject
Product: 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

Attack Vector
Physical
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
Low
CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L

Affected software

zephyrproject

zephyr

Affected versions
>=3.2.0 <4.4.2
GitHub Actionsmore threats →cve
zephyr
pkg:github/zephyr
Affected versions
>=3.2.0 <4.4.2

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

AILast updated: 09/07/2026, 14:56:08 UTC

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.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

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 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

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

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses