目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-78118— Linux 内核 SMP 竞态条件漏洞

一分钟漏洞结论

影响对象
zephyrproject zephyr
利用判断
尚无明确在野利用证据,仍需结合暴露面评估
建议动作
优先检查厂商安全公告和参考链接中的修复版本;无法立即升级时,限制受影响服务暴露并加强监测。

内核辅助函数 (位于 )用于读取线程等待队列的头部。但在对称多处理(SMP)系统上,该函数在多个调用点被调用时,并未持有用于序列化等待队列修改操作的调度器自旋锁 。其中关键的调用点位于 中的 :该函数在读取 并随后执行取消挂起(unpending)、设置返回值以及准备(ready)所获取的线程时,仅持有了定时器子系统的锁 。另一方面, 中的 在仅持有 的情况下,将已中止的线程从其等待队列中移除。因此,这两条执行路径并非互斥,存在竞态条件。 当上述时间窗口内,另一 CPU 移除了最后一个等待者时, 可能返回列表哨兵(

CVSS 7.0 · High

影响版本矩阵 1

厂商产品 版本范围状态
zephyrproject zephyr 2.2.0< 4.5.0 affected
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2026-78118 基础信息

漏洞信息

对漏洞内容有疑问?看看神龙的深度分析是否有帮助!
查看神龙十问 ↗

尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。

Vulnerability Title
Race condition on kernel wait queues: unlocked z_waitq_head() read in the timer expiration handler can yield a stale or sentinel thread pointer on SMP
来源: CVE Program / CVE List V5
Vulnerability Description
The kernel helper z_waitq_head() (kernel/include/wait_q.h) reads the head of a thread wait queue, but on SMP systems it was called from several places without holding the scheduler spinlock _sched_spinlock that serializes wait-queue mutation. The consequential call site is z_timer_expiration_handler() in kernel/timer.c, which held only the timer subsystem lock timer_lock while reading timer->wait_q and then unpending, setting the return value of, and readying the thread it obtained. halt_thread() in kernel/sched.c removes an aborted thread from its wait queue while holding only _sched_spinlock, so the two paths are not mutually exclusive. When the last waiter is removed on another CPU inside that window, sys_dlist_peek_head() can return the list sentinel — a pointer into the k_timer object itself — typed as a struct k_thread * (with CONFIG_WAITQ_SCALABLE, rb_get_min() can return an arbitrary node of a tree being restructured), or it can return a pointer to a thread that has already been unpended and, for dynamically allocated threads, freed. The handler then calls unpend_thread_no_timeout(), which performs a sys_dlist_remove() through pointers read from that object, and arch_thread_return_value_set(), which writes unconditionally through the pointer. The result is out-of-bounds and use-after-free writes in supervisor context, plus scheduler state corruption; a milder outcome is a thread that has re-pended elsewhere being woken with a success return value from an unrelated blocking call. All of the primitives needed to drive the interleaving — k_timer_start(), k_timer_status_sync(), k_thread_create() and k_thread_abort() — are system calls, so with CONFIG_USERSPACE enabled an unprivileged user-mode thread can attempt the race against kernel-owned data. Exploitation requires a multi-CPU build (CONFIG_MP_MAX_NUM_CPUS greater than one; the affected region is a no-op on uniprocessor targets), local code execution, and winning a narrow timing window, so the practical outcome is most often a kernel crash rather than controlled corruption. The fix splits the helper into z_waitq_head_locked() for callers that already hold the scheduler spinlock and a z_waitq_head() that acquires it, and brings the timer expiration handler's head read, unpend and ready under a single LOCK_SCHED_SPINLOCK region.
来源: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
来源: CVE Program / CVE List V5
Vulnerability Type
使用共享资源的并发执行不恰当同步问题(竞争条件)
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
zephyrproject zephyr 2.2.0 ~ 4.5.0 -

二、漏洞 CVE-2026-78118 的公开POC

# POC 描述 源链接 神龙链接
AI 生成 POC 高级

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2026-78118 的情报信息

请登录查看更多情报信息。

CVE-2026-78118 其他参考 (2)

同批安全公告 · zephyrproject · 2026-10-21 · 共 8 条

CVE-2026-19676 7.8 HIGH PECI 系统调用验证器任意内核读写漏洞
CVE-2026-79976 7.1 HIGH Linux MCTP I2C+GPIO 空指针解引用漏洞
CVE-2026-78119 6.3 MEDIUM Nuvoton NPCX 越界写入漏洞
CVE-2026-19947 5.3 MEDIUM Linux 内核 devmux 系统调用权限绕过漏洞
CVE-2026-78116 5.2 MEDIUM Broadcom AFBR-S50 驱动双重释放漏洞
CVE-2026-78117 4.2 MEDIUM 英飞凌 PSOC 6 BLESS 蓝牙驱动竞争条件漏洞
CVE-2026-18748 3.5 LOW 蓝牙经典 A2DP 编解码器信息元素处理越界读取漏洞

IV. Related Vulnerabilities

V. Comments for CVE-2026-78118

暂无评论


发表评论