本月14日Mozilla基金会发布Firefox 126,其中修补PDF查看组件(PDF.js)高风险漏洞CVE-2024-4367,此漏洞发生的原因,在于处理字体时缺乏类型检查,导致能被攻击者用来执行任意JavaScript程序代码。
通报这项漏洞的安全企业Codean Labs上周也提出说明,指出PDF.js由JavaScript开发而成,但弱点并非来自此脚本的功能,而是字体的处理层面。
由于对于TrueType等现代格式的字体,PDF.js主要通过浏览器的字体渲染工具处理,但除此之外,此JavaScript脚本必须将字符转换成页面上的曲线来呈现,因此,若要促使执行性能提升,开发者会为每个字体预先编译路径产生器。
为了验证此项威胁的可行性,他们借由特定参数触发PDF.js漏洞,从而插入任意的JavaScript程序代码并执行。一旦用户在Firefox打开恶意PDF文件,攻击者就有机会利用漏洞来达到目的。