<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Zephyr RTOS (With CONFIG_MCTP and CONFIG_MCTP_I2C_GPIO_TARGET Enabled) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/zephyr-rtos-with-config_mctp-and-config_mctp_i2c_gpio_target-enabled/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 21 Oct 2026 19:59:18 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/zephyr-rtos-with-config_mctp-and-config_mctp_i2c_gpio_target-enabled/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Zephyr RTOS: Kernel wait queue race condition (CVE-2026-78118)</title><link>https://feed.craftedsignal.io/briefs/2026-10-zephyr-rtos-race-condition/</link><pubDate>Wed, 21 Oct 2026 19:59:18 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-10-zephyr-rtos-race-condition/</guid><description>A race condition in the Zephyr RTOS scheduler wait queue management allows unprivileged user-mode threads to trigger out-of-bounds memory access or use-after-free in supervisor context by exploiting improper locking in SMP configurations.</description><content:encoded><![CDATA[<p>A race condition exists in the Zephyr RTOS kernel due to improper locking of the thread wait queue in Symmetric Multiprocessing (SMP) environments. The z_waitq_head() helper function is called without holding the required _sched_spinlock, allowing for out-of-bounds access or use-after-free conditions when a timer expiration handler interacts with a thread wait queue simultaneously with a thread abortion. Exploitation via system calls from unprivileged user-mode threads can lead to supervisor-mode memory corruption, scheduler state instability, or kernel crashes. This vulnerability only affects multi-CPU builds (CONFIG_MP_MAX_NUM_CPUS &gt; 1).</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An unprivileged user-mode thread triggers an attempt to exploit the race condition via system calls.</li>
<li>The attacker uses k_thread_create() and k_thread_abort() to manipulate thread states in the wait queue.</li>
<li>Simultaneously, k_timer_start() and k_timer_status_sync() are utilized to trigger the z_timer_expiration_handler().</li>
<li>The handler calls z_waitq_head() without holding the _sched_spinlock.</li>
<li>A race window is opened where a competing thread is removed from the queue on a different CPU.</li>
<li>z_waitq_head() returns an invalid pointer (either a list sentinel or a pointer to a freed thread structure).</li>
<li>The kernel performs an out-of-bounds or use-after-free write via unpend_thread_no_timeout() and arch_thread_return_value_set().</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The primary observed outcome is a kernel crash (DoS). In controlled scenarios, exploitation leads to supervisor-mode memory corruption or scheduler state instability, which could potentially be leveraged for privilege escalation.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Update Zephyr RTOS projects to include the fix that enforces the use of z_waitq_head_locked() and encapsulates timer expiration logic within a single LOCK_SCHED_SPINLOCK region.</li>
<li>Review kernel configurations to ensure that multi-CPU environments are managed with appropriate locking primitives as defined in the vendor security patch.</li>
<li>Audit custom system call implementations for race conditions involving wait queue access.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>vulnerability</category><category>embedded</category><category>mctp</category><category>i2c</category></item></channel></rss>