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

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-79979— ARM64 用户线程访问重用物理帧漏洞

一分钟漏洞结论

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

在 arm64 架构中,MMU 后端通过 中的 函数,使用 指令来使单个虚拟地址的 TLB 条目失效。该指令的操作数为 ,其中该操作数的第 [63:48] 位编码了 ASID(地址空间标识符)。由于该实现中 ASID 字段始终为 0,因此 TLB 失效操作仅能匹配到 ASID 0(即内核页表)和全局(global)条目。然而,内存域(memory domains)在 初始化时,其 ASID 是从 1 开始分配的;并且由 创建的每个域私有叶子页(domain-private leaf)均使用 (非全局)属性进行映射。

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

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

漏洞信息

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

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

Vulnerability Title
Stale TLB entries after demand-paging page-out let arm64 user threads access reused physical frames
来源: CVE Program / CVE List V5
Vulnerability Description
The arm64 MMU backend invalidates a single virtual address from the TLB with invalidate_tlb_page() in arch/arm64/core/mmu.c, which issued TLBI VAE1{IS} with an operand of virt >> 12. That operand encodes the ASID in bits [63:48], so the invalidation only ever matched ASID 0 (the kernel page tables) and global entries. Memory domains, however, are allocated ASIDs starting at 1 in arch_mem_domain_init(), and every domain-private leaf created by private_map() is mapped with MT_NG, i.e. non-global. A domain's cached translation therefore survived the invalidation. All callers of invalidate_tlb_page() are demand-paging paths. When the eviction algorithm reclaims a frame, page_frame_prepare_locked() in kernel/mmu.c calls arch_mem_page_out(), which marks the kernel leaf invalid, propagates the invalid descriptor into every domain via sync_domains(), and then flushes only ASID 0. do_page_fault() immediately reuses the very same page frame for the incoming mapping through arch_mem_page_in(). A user thread that had already touched the evicted page — a k_mem_partition added with arch_mem_domain_partition_add(), or its own stack mapped by map_thread_stack() — retains a valid EL0 read/write translation to that physical frame under its own ASID. Unprivileged code running in a user thread can drive memory pressure to force eviction and then keep accessing the stale address, obtaining read and write access to whatever the kernel subsequently placed in that frame: supervisor data, another memory domain's partition, or another thread's stack. This defeats the isolation that CONFIG_USERSPACE is meant to enforce, allowing information disclosure and memory corruption up to full compromise of the system. The fix switches the implementation to TLBI VAAE1{IS}, which matches every ASID and both global and non-global entries, so no domain-tagged translation survives a page out, dirty-bit update or access-flag clear. Exploitation requires an arm64 build with both CONFIG_USERSPACE and CONFIG_DEMAND_PAGING enabled, an active backing store, and at least one demand-paged page that is also privately mapped into a user memory domain. The same commit additionally stops globalize_table() from stripping EL0 permission and non-global attributes off domain-private leaves during paging synchronization, which previously caused user threads to lose access to their own partitions and stacks.
来源: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
来源: CVE Program / CVE List V5
Vulnerability Type
释放后使用
来源: CVE Program / CVE List V5

受影响产品

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

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

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

未找到公开 POC。

登录以生成 AI POC

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

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

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

同批安全公告 · zephyrproject · 2026-10-23 · 共 7 条

CVE-2026-79982 8.8 HIGH USB 蓝牙 HCI 传输越界写入漏洞
CVE-2026-79977 8.2 HIGH Zephyr WireGuard 远程隧道劫持漏洞
CVE-2026-19741 7.5 HIGH OpenThread 默认 PSKd 凭证泄露漏洞
CVE-2026-79981 6.5 MEDIUM DNS 解析器 UDP 源端口复用漏洞
CVE-2026-79980 5.6 MEDIUM DHCPv4 可预测事务 ID 导致网关和 DNS 被篡改漏洞
CVE-2026-79978 3.6 LOW ADXL345 驱动 RTIO 流读取越界写漏洞

IV. Related Vulnerabilities

V. Comments for CVE-2026-79979

暂无评论


发表评论