Tor 浏览器和 Firefox 存在重大隐私漏洞,即使在“隐私窗口”下也会跨 session 暴露用户身份。

来源: https://cybernews.com/security/firefox-tor-bug-expose-users-to-tracking

互联网上最受信任的隐私工具的根基刚刚遭到动摇。Firefox 和 Tor 浏览器的一个漏洞允许网站在用户进行私密会话时悄悄追踪用户。该漏洞由 Fingerprint 公司披露,该公司专门帮助企业识别在线用户。

专注于在线访客识别的公司 Fingerprint 的安全研究人员发现,所有基于 Firefox 的浏览器(包括 Tor)都存在一个重大漏洞。这些浏览器会泄露用户指纹,使网站能够在不使用 Cookie 等传统追踪方法的情况下追踪用户在网络上的身份。

报告中写道:“该问题允许网站获得唯一、确定且稳定的进程生命周期标识符”,该报告涉及将私有 Tor 身份与 Firefox 身份关联起来。 https://fingerprint.com/blog/firefox-tor-indexeddb-privacy-vulnerability/#howindexeddbdatabasesbecame-a-stable-identifier

这意味着只要 Firefox 进程在系统上运行,用户身份信息就会被追踪。即使用户在 Tor 中选择“新身份”或在 Firefox 中打开“新建隐私窗口”,对相同或不同网站的重复访问仍然可以追溯到同一用户。

研究人员警告说:“影响非常显著。不相关的网站可以在同一个浏览器运行时将不同来源的活动关联起来,而且由于标识符的存续时间比用户预期的要长,私密会话的边界​​也被削弱了。”

Mozilla 在 Firefox 150 版本中修复了该漏洞,该版本于 2026 年 4 月 21 日星期二发布。

为什么一家依赖指纹识别技术的公司会披露这样的漏洞?

“我们的产品不会利用漏洞,”Fingerprint.com 的首席技术官在 Hacker News 论坛上回应道。https://news.ycombinator.com/item?id=47866697

它是如何运作的?

当您浏览网页时,网站会在您的设备上创建并存储多个数据库,用于离线支持、缓存、会话状态管理以及其他用途。为此,它们使用了 JavaScript 内置的索引数据库 API,简称 IndexedDB。

Firefox 在隐私浏览模式下会屏蔽这些数据,将数据库名称替换为随机标识符 (UUID)。

然而,研究人员注意到一个“小小的实现细节”——浏览器总是以完全相同的顺序返回数据库。这个顺序取决于浏览器的内部状态,而每个运行实例的内部状态都是唯一的,因此它就像一个有效的指纹。

IndexedDB解释说,它返回的数据库元数据“顺序源自内部存储结构,而非数据库创建顺序”。浏览器在返回结果之前,从不会更改结果的顺序。

简单来说,网站可以在用户电脑上创建一组固定的命名数据库,并读取 Firefox 或 Tor 返回的指纹。下次用户访问时,这个指纹将完全相同。只有完全重启浏览器才能彻底重置这组指纹。

报告指出:“即使所有隐私窗口都已关闭,重新加载页面并打开新的隐私窗口后,问题依然存在。只有完全重启浏览器才能创建新的隐私窗口。从隐私角度来看,这正是我们最不希望看到的。”

这种指纹的危险之处在于,任何运行相同脚本的其他网站都可以看到相同的指纹,并暗中将用户在不同网站上的活动关联起来。

研究人员证明,使用 16 个受控数据库名称,一个网站可以产生超过 20 万亿种可能的订单。

“这足以在实践中区分出实际的并发浏览器实例数量。”

巨大的隐私隐患

该缺陷实际上破坏了浏览器对用户做出的核心隐私承诺:删除 cookie、清除浏览历史记录、切换 Tor 电路以及采取其他措施都无法保证匿名性。

研究人员警告说:“Tor浏览器的设计初衷就是为了减少跨站链接,并最大限度地降低浏览器实例级别的身份识别风险。稳定的进程生命周期标识符直接违背了这一设计目标。”

“即使它只能存活到整个进程重启,也足以削弱活跃使用期间的不可解绑性。”

然而,解决方法很简单。只需按规范顺序(即排序)返回相同的数据库,即可隐藏内部存储布局。

关注隐私的用户应将浏览器更新至最新版本。Firefox 150 和 ESR 140.10.0 已修复此问题,最新版本的 Tor 浏览器也基于后者。

习家评语:

基础不牢,地动山摇

你们这些个浏览器啊,还是要跟习总书记学习一个