Impact
The Zephyr kernel queue helper z_queue_node_peek() is unsynchronized, allowing a race between a peek operation and an unlink/free in k_queue_get(), resulting in a use‑after‑free read that can leak a stale heap pointer and cause crashes or memory corruption when that pointer is later dereferenced. The issue affects k_queue, k_fifo, and k_lifo, which are used in networking, Bluetooth, USB, and other subsystems, and the peek operations are exposed to CONFIG_USERSPACE threads.
Affected Systems
Zephyr RTOS kernel queues (k_queue, k_fifo, k_lifo) used throughout net_buf, Bluetooth, USB, and networking subsystems; applies to all Zephyr releases before the fix at commit a6b6149a50cb0f64061869f7536acbf80ccc5e0c.
Risk and Exploitability
The vulnerability has a CVSS score of 3.6 (low severity) and an unavailable EPSS score, and is not listed in CISA KEV. Exploitation requires a small race window with local or userspace access, such as a process racing k_queue_peek_* against k_queue_get on a shared queue or across CPUs. Because the attack is local and race‑based, the practical impact is confined and considered low, but an attacker could force a crash or memory corruption on the affected system.
OpenCVE Enrichment