Skip to content

Latest commit

 

History

History
55 lines (40 loc) · 2.31 KB

File metadata and controls

55 lines (40 loc) · 2.31 KB
id CVE-2024-4367
product Mozilla PDF.js / pdfjs-dist
vulnerability_type client-side-script-execution
status normalized
confidence high
last_reviewed 2026-06-26
sources

CVE-2024-4367 PDF.js 客户端脚本执行问题

漏洞简介

CVE-2024-4367 是 Mozilla PDF.js / pdfjs-dist 中的客户端脚本执行问题。GitHub Security Advisory 说明,pdfjs-dist 4.1.392 及以前版本受影响,4.2.67 修复。触发条件是应用使用 PDF.js 加载不可信 PDF,并且 isEvalSupported 保持为 true

本条目用于前端依赖排查和本地实验验证,不提供恶意 PDF 样本。

影响范围

重点排查:

  • npm 包 pdfjs-dist 版本 <= 4.1.392
  • 应用允许用户上传或打开不可信 PDF。
  • PDF.js 配置中 isEvalSupportedtrue,这是公告中提到的默认状态。
  • PDF 查看器运行在包含敏感 Cookie、Token 或业务权限的同源页面中。

授权实验复核流程

  1. 在测试环境确认应用使用的 pdfjs-dist 版本。
  2. 检查 PDF.js 初始化配置,记录 isEvalSupported 是否显式关闭。
  3. 使用本地测试页面加载无害 PDF,确认 PDF 查看器运行域名和权限边界。
  4. 在实验环境中使用安全测试样本验证脚本执行边界;样本不得包含数据外传、持久化或真实业务域名。
  5. 升级到 4.2.67 或更新版本后重复验证,确认风险路径被阻断。

误报与限制

  • 仅安装 pdfjs-dist 不代表可触发,应用必须暴露不可信 PDF 加载路径。
  • 如果 isEvalSupported 已显式关闭,风险会显著降低。
  • 需要关注 PDF 查看器所在域的权限,尤其是同源 Cookie 和前端接口权限。

修复建议

  • 升级 pdfjs-dist 到 4.2.67 或更新版本。
  • 临时缓解:将 isEvalSupported 设置为 false
  • 将 PDF 查看器放到低权限、隔离域名或沙箱 iframe 中。
  • 对上传的 PDF 做文件类型、大小和来源控制,不在高权限后台页面直接打开不可信文件。

Agent 引用建议

AI agent 输出时应同时给出:pdfjs-dist 版本、isEvalSupported 配置、PDF 来源、查看器域名权限和修复版本。