Apple Safari 15在IndexedDB API的实现中引入的软件错误可能被恶意网站滥用,以跟踪用户在Web浏览器中的在线活动,更糟糕的是,甚至泄露他们的身份。
该漏洞被称为IndexedDB Leaks,由欺诈保护软件公司FingerprintJS披露,该公司于2021年11月28日向iPhone制造商报告了该问题。
IndexedDB 是由 Web 浏览器提供的低级 JavaScript 应用程序编程接口 (API),用于管理结构化数据对象(如文件和 blob)的NoSQL 数据库。
"像大多数网络存储解决方案一样,IndexedDB遵循同源策略,"Mozilla在其API文档中指出。"因此,虽然您可以访问域中存储的数据,但无法访问不同域中的数据。
同源是一种基本的安全机制,可确保从不同源(即 URL 的方案(协议)、主机(域)和端口号的组合)检索到的资源彼此隔离。这实际上意味着"http[:]//example[.]com/" 和 "https[:]//example[.]com/" 不是同一来源,因为它们使用不同的方案。
通过限制由一个源加载的脚本如何与来自另一个源的资源进行交互,这个想法是通过阻止流氓网站运行任意JavaScript代码来从另一个域(例如电子邮件服务)读取数据来隔离潜在的恶意脚本并减少潜在的攻击媒介。
但Safari在safari中跨iOS,iPadOS和macOS处理IndexedDB API的方式并非如此。
"在macOS上的Safari 15中,以及在iOS和iPadOS 15上的所有浏览器中,IndexedDB API违反了同源政策,"Martin Bajanik在一篇文章中说。"每次网站与数据库交互时,都会在同一浏览器会话中的所有其他活动框架、选项卡和窗口中创建一个具有相同名称的新(空)数据库。
这种侵犯隐私的结果是,它允许网站了解用户在不同的标签页或窗口中访问的其他网站,更不用说在YouTube和Google日历等Google服务服务上精确识别用户,因为这些网站创建了IndexedDB数据库,其中包含经过身份验证的Google用户ID,这是唯一标识单个Google帐户的内部标识符。
"这不仅意味着不可信或恶意的网站可以了解用户的身份,而且还允许将同一用户使用的多个独立帐户链接在一起,"Bajanik说。
更糟糕的是,如果用户从浏览器窗口中的同一选项卡中访问多个不同的网站,则泄漏也会影响Safari 15中的"隐私浏览"模式。我们已经联系了Apple以获得进一步的评论,如果我们收到回复,我们将更新这个故事。
"这是一个巨大的错误,"Google Chrome的开发者倡导者Jake Archibald在推特上写道。"在OSX上,Safari用户可以(暂时)切换到另一个浏览器,以避免他们的数据在源之间泄漏。iOS用户没有这样的选择,因为苹果对其他浏览器引擎实施了禁令。
新的未修补的Apple Safari浏览器错误允许跨站点用户跟踪
免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文