CVE-2026-9308CVE-2026-9308是Mozilla Firefox for iOS浏览器中的一个高危跨站脚本(XSS)漏洞。该漏洞存在于Firefox iOS的Reader View(阅读模式)功能中,由于Reader View在处理HTML模板时存在顺序错误,导致恶意网页可以注入并执行任意JavaScript代码。具体而言,Reader View组件在替换内部占位符之前,先将页面内容替换到HTML模板中,这为攻击者提供了一个注入点。攻击者可以通过在网页中嵌入特定的占位符字符串,这些字符串随后会被JSON-LD数据替换,最终导致在用户浏览器中执行任意代码。此漏洞需要用户交互才能触发(用户需主动启用Reader View),但一旦利用成功,攻击者可窃取用户敏感信息、劫持会话、执行任意操作等。该漏洞已于Firefox for iOS 151.2版本中修复。
Firefox for iOS的Reader View功能旨在为用户提供更简洁的阅读体验,其实现依赖于HTML模板和占位符替换机制。正常流程应该是:1) Reader View首先提取页面内容;2) 对内容进行清理和格式化;3) 将处理后的内容插入到预定义的HTML模板中;4) 替换模板中的占位符(如{{title}}、{{content}}等);5) 渲染最终页面。然而,CVE-2026-9308漏洞的成因是步骤3和步骤4的执行顺序被颠倒——Reader View先将页面内容替换到模板中,然后才处理其他内部占位符。攻击者可以利用这一缺陷,在网页中嵌入形如{{malicious}}的占位符字符串。当Reader View处理页面时,这个占位符会被后续的JSON-LD数据替换。如果JSON-LD数据包含恶意脚本或HTML标签,这些内容就会在用户浏览器中渲染和执行。由于Reader View通常用于展示文章内容,用户对其安全性信任度较高,因此更容易忽视潜在风险。此漏洞属于存储型XSS与DOM XSS的结合,攻击代码被持久化在网页中,并在Reader View激活时触发。