Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-74939-escape-the-mac-n-cheese-box — Firefox 内容进程到父进程的 IPDL 权限提升(N-day,bug 2054416):通过来自被攻破内容进程的 mojo-port 发送路径注入,伪造带 RemoteTypeOverride 的 PDocumentChannel,实现 privilegedabout 进程的放置。 | Kitploit
工具/GitHubGitHub/sneakynachos/cve-2026-74939-escape-the-mac-n-cheese-box
权限提升漏洞利用框架漏洞分析漏洞利用Web应用程序漏洞利用二进制利用
GitHubsneakynachos/cve-2026-74939-escape-the-mac-n-cheese-box

CVE-2026-74939-escape-the-mac-n-cheese-box

Firefox 内容进程到父进程的 IPDL 权限提升(N-day,bug 2054416):通过来自被攻破内容进程的 mojo-port 发送路径注入,伪造带 RemoteTypeOverride 的 PDocumentChannel,实现 privilegedabout 进程的放置。

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
121小时23分前尚未审核

CVE-2026-74939 — Firefox content→parent 权限提升

针对 Firefox 149.0a1 nightly(2fbc0748c4,修复前)中沙箱逃逸的概念验证。受入侵的 content 进程伪造一条 IPDL 消息,使 parent 进程将页面加载到 特权(privilegedabout)进程中。

这是第二阶段沙箱逃逸,设计用于在 content 进程 RCE(例如 CVE-2026-2796)之后进行链接利用。

该漏洞(Mozilla bug 2054416)

Parent 进程从 content→parent 的 IPDL 消息中反序列化 nsDocShellLoadState。存在漏洞的构建版本不会拒绝 content 设置的 RemoteTypeOverride 字段,因此 content 可以选择导航最终落入的进程类型。

修复(commit 3ec5c71b41bb,"Validate RemoteTypeOverride")使 nsDocShellLoadState 构造函数拒绝在 content 触发的加载上使用任何覆盖值。

当覆盖值被采纳时 —— 对于 about:blank 的文档加载,顶级上下文 —— IsolationOptionsForNavigation 会将加载的 remote type 设置为覆盖值,页面被放入特权进程。沙箱边界被突破。

漏洞利用概述

该覆盖值搭载在 PNecko::PDocumentChannel 上,这是每个 content 进程在每次文档加载时都会发送的消息(DocumentChannelCreationArgs.loadState 是一个 nsDocShellLoadState)。

投递过程是最有趣的部分:直接写入 IPC socket 会被静默丢弃,因为 IPDL 消息现在运行在 mojo ports 之上。相反,PoC 通过原生调用(利用 CVE-2026-2796 的 funcref 原语)从 JavaScript 驱动真实的发送路径:

  1. operator new — 为 IPC::Message 分配一个堆块
  2. IPC::Message::Message(routing, type, capacity, flags) — placement 构造
  3. Pickle::WriteBytes — 追加伪造的负载
  4. 在 PContent 通道上调用 MessageChannel::Send — mojo 帧、端口路由和序列号均由原生侧处理

负载(由 forge.py 构建)携带 RemoteTypeOverride = "privilegedabout"、URI about:blank、空主体(null principal),以及运行时泄露的值(BrowsingContext id、TriggeringRemoteType)。

文件

运行

root@kitploit:~
./irun

验证

Parent 侧日志(MOZ_LOG=ProcessIsolation:5,DocumentChannel:5)显示切换到特权进程的过程:

root@kitploit:~
V/ProcessIsolation using remote type override (privilegedabout) for load
I/ProcessIsolation Process Switch: Changing Remoteness from 'webIsolated=http://127.0.0.1' to 'privilegedabout'

参考

  • Mozilla bug 2054416 — 修复 commit 3ec5c71b41bb "Validate RemoteTypeOverride"
  • 第一阶段 content RCE:CVE-2026-2796
下载工具
文件用途
privesc.htmlPoC 页面,在受入侵的 content 进程内运行
forge.py / forge.json构建伪造的 IPDL 消息(自校验)
wasm-bytes.js第一阶段原语:任意读写、funcref 调用
mdrive.py / mdrive2.py用于启动并驱动 Nightly 的 marionette 测试工具
irun插桩运行:lldb 附加到 parent + MOZ_LOG 证据
profile.user.jsFirefox profile 偏好(fission 开启,dump 启用)
parse_dc.py对捕获的 DocumentChannel 消息进行字节级精确解析
scan_sentinels.py / extract_fields.py用于捕获数据的字段映射扫描器