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

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-90586— Xtensa MMU 越界写漏洞

一分钟漏洞结论

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

Xtensa MMU 用户空间移植版本在创建线程时,从未初始化每线程页表指针 。然而, 中的 函数将该字段非空作为判断“该线程正从另一个内存域迁移”的条件。对于其 支撑内存未被清零的线程,该字段会残留旧数据,导致内核错误地进入迁移分支,并将该残留值作为一级页表的基地址传递给 。出于完全相同的原因,x86 架构的对应字段已在 中显式清零;而 Xtensa 移植版本在采纳该判断条件时,却遗漏了相应的初始化步骤。 该漏洞在启用 、 且支持动态分配内核对象的构建配置下,可由非特权用户模式线程触发。 是一个系统调用,它从调用

CVSS 7.8 · High
获取后续新漏洞提醒 登录后订阅

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

漏洞信息

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

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

Vulnerability Title
Xtensa MMU userspace: uninitialized thread page-table pointer leads to out-of-bounds supervisor-mode writes
来源: CVE Program / CVE List V5
Vulnerability Description
The Xtensa MMU userspace port never initialized the per-thread page-table pointer thread->arch.ptables during thread setup, while arch_mem_domain_thread_add() in arch/xtensa/core/ptables.c uses a non-NULL value of that field as its "this thread is migrating from another memory domain" predicate. For a thread whose struct k_thread backing memory is not zeroed, the field holds stale data and the kernel takes the migration branch, passing that stale value to reset_region() as the base of a level-1 page table. The equivalent field on x86 is explicitly cleared in z_x86_userspace_prepare_thread() for exactly this reason; the Xtensa port adopted the predicate without the initialization. The condition is reachable from an unprivileged user-mode thread on a build with CONFIG_XTENSA_MMU, CONFIG_USERSPACE and dynamically allocated kernel objects. k_object_alloc(K_OBJ_THREAD) is a system call and allocates the thread object from the caller's resource pool without zeroing it, and the k_thread_create() verifier accepts such an object while forcing the K_USER option, so the migration branch is taken whenever the recycled heap bytes at that offset are non-zero. Because a user thread can also allocate, fill and free other kernel objects from the same heap, the stale bytes are groomable rather than merely random. Walking the bogus table in region_map_update() performs an unguarded index into l2_page_tables_counter[], may copy from and write through the attacker-influenceable level-1 base in dup_l2_table_if_needed(), and finally writes a page-table entry through a second pointer read out of that memory — once per page of the new thread's stack. The result is out-of-bounds reads and writes executed in supervisor mode, ranging from an immediate kernel panic (observed as Xtensa EXCAUSE 13 on Intel ADSP DSP firmware with user threads) to corruption of kernel memory and escape from the user-mode sandbox.
来源: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/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 3.6.0 ~ 4.3.2 -

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

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

未找到公开 POC。

登录以生成 AI POC

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

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

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

同批安全公告 · zephyrproject · 2026-11-09 · 共 7 条

CVE-2026-90591 7.5 HIGH NXP ENET-QOS 驱动数据包丢弃时 DMA 地址被破坏
CVE-2026-90590 6.5 MEDIUM NXP ENET QoS 驱动链路断开后发送功能永久丢失
CVE-2026-90589 5.5 MEDIUM 线程栈内存映射未释放耗尽内核地址空间
CVE-2026-90587 4.6 MEDIUM Zephyr USB 主机栈空指针解引用漏洞
CVE-2026-90585 4.6 MEDIUM Renesas RA SCI UART 驱动中断风暴导致 CPU 锁死漏洞
CVE-2026-90588 3.7 LOW Zephyr HTTP 客户端调试日志越界读取漏洞

IV. Related Vulnerabilities