CVE-2024-4367 - PDF.js 中的任意 JavaScript 执行 — Codean Labs

主要观点:Codean Labs 发现 PDF.js 中的漏洞 CVE-2024-4367,攻击者可在打开恶意 PDF 文件时执行任意 JavaScript 代码,影响所有 Firefox 用户及许多使用 PDF.js 的应用,需更新 PDF.js 版本等进行缓解。
关键信息

  • PDF.js 是 Mozilla 维护的基于 JavaScript 的 PDF 查看器,有两种常见使用场景。
  • 漏洞与字体渲染代码中的一个疏忽有关,可通过控制fontMatrix数组插入任意代码。
  • 利用该漏洞可触发警报、获取window.origin等信息,在嵌入 PDF.js 的应用中影响更严重,甚至可导致原生代码执行。
  • 缓解措施包括更新 PDF.js 到 4.2.67 或更高版本,设置isEvalSupported为 false,更新相关 wrapper 库,对node_modulespdf.js文件进行递归检查等。
    重要细节
  • 字体渲染代码中通过compileGlyphImpl(...)方法生成命令列表,transform命令中的fontMatrix数组可被控制。
  • 不同字体格式中FontMatrix的设置方式不同,PDF 中的字体定义由多个对象组成,可在Font对象的 metadata 中定义FontMatrix
  • 受影响的版本范围及详细信息,最早可追溯到 2014 年的 v0.8.1181,2016 和 2017 年的某些版本因 typo 未受影响但存在其他漏洞,2024 年 4 月 29 日发布 v4.2.67 修复该漏洞,5 月 14 日 Firefox 等应用包含修复版本,5 月 20 日发布此博客,5 月 22 日更新相关内容。
阅读 11
0 条评论