Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SkeletonKey — CVE-2026-6765,仅测试 Firefox 中暴露的 FormAutofill 处理程序 | Kitploit
工具/GitHubGitHub/defineid/skeletonkey
漏洞分析漏洞利用数据泄露Web安全隐私保护对抗性攻击
GitHubdefineid/skeletonkey

SkeletonKey

CVE-2026-6765,仅测试 Firefox 中暴露的 FormAutofill 处理程序

查看仓库
221个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-6765 · 仅测试用的 FormAutofill 处理程序可在自动化之外被访问

Mozilla 在 MFSA 2026-30 中致谢的报告者:Abdulaziz Alasaiqah。 本目录包含该漏洞的真实复现测试框架。它 旨在针对本地下载的易受攻击 Firefox 构建运行。它 绝不接触任何在线或第三方系统。

匹配的 PoC 仓库:https://github.com/defineid/SkeletonKey 技术分析文章:本作品集中的 writeup-ff-autofill.html。

已验证事实(公开记录)

字段值来源
CVECVE-2026-6765MITRE cvelistV5(状态 PUBLISHED,CNA Mozilla)
标题Form Autofill 组件中的信息泄露NVD · MFSA 2026-30
严重性中等 · CVSS 5.3 · AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NNVD
CWE359 · 私有信息暴露NVD
修复于Firefox 150 · Firefox ESR 140.10 · Thunderbird 150 / 140.10MFSA 2026-30
Bugbugzilla.mozilla.org/show_bug.cgi?id=2022419(安全受限)NVD 参考
报告者Abdulaziz AlasaiqahMFSA 2026-30

机制(可从源码验证)

FormAutofill JSWindowActor 对(内容进程中的 FormAutofillChild 与 父进程中的 FormAutofillParent)交换消息。在当前 mozilla-central 中,FormAutofillParent.receiveMessage 将允许集合之外的任何内容 置于自动化检查之后:

// toolkit/components/formautofill/FormAutofillParent.sys.mjs  (fixed tree)
if (!FORM_AUTOFILL_MESSAGES.has(name) && !Cu.isInAutomation) {
  return undefined;
}

源码注释指出,Save 和 Remove 处理器仅由测试调用:

  • FormAutofill:SaveAddress
  • FormAutofill:SaveCreditCard
  • FormAutofill:RemoveAddresses
  • FormAutofill:RemoveCreditCards

在受影响的构建中,这些仅用于测试的处理器无需 Cu.isInAutomation 门控即可访问,因此内容上下文可以触达本不应面向 Web 内容的 FormAutofill 路径。Mozilla 将由此产生的暴露评定为已存储自动填充数据的信息泄露。

关于可达性说明:getActor 位于 windowGlobalChild 上,这是一个仅 chrome 可用的属性。普通页面脚本永远无法看到它,因此威胁模型是攻击者已经影响的内容进程(渲染器被攻陷或内容侧代码路径)发出 actor 消息,而不是普通网页。该测试工具尝试内容路径,并如实报告父进程是否响应或边界是否守住。

确切的泄露原语位于 bug 2022419 中,该 bug 受安全限制。此测试工具演示的是仅用于测试的处理器在已修复构建中被阻止的可达性。使用 --message 传入你自己报告中使用的精确调用。

威胁模型

攻击者已经影响的内容进程(渲染器被攻陷或内容侧代码路径)发送一条本应只来自测试工具的 FormAutofill actor 消息。在存在漏洞的构建上,父进程会响应。在已修复的构建上,自动化门控会将其丢弃。

前提条件

  1. 一个存在漏洞的构建。任何 150 之前的 Firefox 或 140.10 之前的 ESR。撰写说明中的截图使用 Firefox 140.9.0esr。从官方 Mozilla 归档 https://ftp.mozilla.org/pub/firefox/releases/140.9.0esr/ 下载匹配的平台构建。
  2. 带有 Marionette 客户端的 Python:
    pip install marionette-driver
    
  3. 一个填充了合成自动填充数据的一次性配置文件。切勿使用真实的个人或支付数据。

填充合成配置文件

使用全新配置文件并启用 Marionette 启动存在漏洞的构建版本:

/path/to/firefox --marionette --no-remote --profile ./poc-profile about:blank

然后在 about:preferences#privacy 中添加一个合成的已保存地址和一张合成的卡片,例如姓名 POC TESTER,卡号 4111 1111 1111 1111。这仅是测试数据。

运行

python3 poc.py                 # default handler and 127.0.0.1:2828
python3 poc.py --help          # options
python3 poc.py --message FormAutofill:SaveAddress

浏览器工具箱回退方案

getActor 仅适用于 chrome,因此在内容沙箱中,普通测试框架会报告该 actor 不可达(参见 poc-run.png)。要从实际持有该 actor 的上下文中驱动消息,请在存在漏洞的构建上启用浏览器工具箱(devtools.chrome.enabled 和 devtools.debugger.remote-enabled),使用 Ctrl+Alt+Shift+I 打开它,然后在内容进程控制台中从 windowGlobalChild 获取该 actor,并使用相同的合成载荷调用 sendQuery。这在不涉及任何真实数据的情况下复现了内容进程被攻陷的威胁模型。

预期结果

  • 存在漏洞的构建:测试框架从内容进程到达 FormAutofill actor,且仅用于测试的处理程序被执行。脚本会打印返回的或发生变更的 Form Autofill 状态,展示本不应被跨越的边界。
  • 已修复的构建(150 或 ESR 140.10 及更高版本):由于 Cu.isInAutomation 为 false,同一调用返回 undefined。脚本会报告该门控已生效。

验证状态

此测试框架是根据公开记录和当前 mozilla-central 源代码编写的。它已在此处针对本地 Firefox 140.11.0esr 构建执行,该构建已针对 CVE-2026-6765 打好补丁。捕获的运行结果位于 poc-run.png:从内容上下文中无法到达 FormAutofill actor(windowGlobalChild.getActor 未向内容进程暴露),因此父进程边界得以保持。这是在已修复构建上的正确且诚实的结果。

要观察边界被跨越,你需要一个存在漏洞的构建(Firefox 150 之前或 ESR 140.10 之前,例如 140.9.0esr),以及一个预置了合成自动填充数据的一次性配置文件,并按照上述浏览器工具箱回退方案,从内容进程上下文驱动该 actor 消息。请将 --message 调整为你原始报告中使用的确切原语。

范围与伦理

此项目针对的是本地下载的构建,使用合成数据,用于撰写作者本人已报告且已修补的 CVE 的分析文章。它不攻击任何在线或第三方服务。

下载工具