JITter漏洞
漏洞是技术领域中普遍存在的事实,开源社区也不例外。然而,处理这些漏洞的开放方式是值得称赞的,Mozilla Firefox浏览器的开发者们已经很好地证明了这一点。
两周前,Mozilla 正庆祝备受期待的 Firefox 3.5 成功发布。该浏览器为用户带来了一系列新功能,其中最受赞誉的可能是 TraceMonkey JavaScript 引擎,据说它可以提供比 Firefox 3.0 快两倍,比 Firefox 2.0 快十倍的速度提升。
然而,这个备受赞誉的性能提升工具中的一个元素本周却让其开发者感到头疼。 Firefox 3.5 的第一个零日漏洞于周一公开,形式是 浏览器的即时编译器中的一个漏洞。与解释从浏览器源代码创建的字节码的旧执行方法不同,即时编译器在执行之前将字节码转换为本机机器代码,从而显着提高性能。攻击者可以利用该漏洞,通过诱骗用户访问包含漏洞利用代码的网站,在其系统上执行恶意代码。
该漏洞的补丁尚未发布,但 Firefox 开发者正在努力解决。 Mozilla 表示,一旦开发者准备并测试好补丁,它将通过正常的更新渠道推送给用户。 Linux 用户可能需要特别注意此更新 - 因为它是最近发布的,用户很可能手动安装了 Firefox 3.5,而不是通过其发行版的存储库,因此可能无法以他们习惯的方式接收更新。
在最终补丁发布之前,Mozilla 建议用户通过 about:config 对话框禁用 JIT 以规避该漏洞。在浏览器的地址栏中输入 about:config 并点击“这可能会使您的保修失效”屏幕后,通过过滤器框找到 javascript.options.jit.content 设置,并将其值设置为 false。
开发者强调这只是一个临时修复,因为它会导致浏览器性能显着下降,因此应在安装补丁后尽快恢复到其原始设置。 不熟悉更改 about:config 设置的用户可以通过在安全模式下运行浏览器来实现相同的结果,但这会导致其他组件被禁用。