| 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 是 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 配置中
isEvalSupported为true,这是公告中提到的默认状态。 - PDF 查看器运行在包含敏感 Cookie、Token 或业务权限的同源页面中。
- 在测试环境确认应用使用的
pdfjs-dist版本。 - 检查 PDF.js 初始化配置,记录
isEvalSupported是否显式关闭。 - 使用本地测试页面加载无害 PDF,确认 PDF 查看器运行域名和权限边界。
- 在实验环境中使用安全测试样本验证脚本执行边界;样本不得包含数据外传、持久化或真实业务域名。
- 升级到 4.2.67 或更新版本后重复验证,确认风险路径被阻断。
- 仅安装
pdfjs-dist不代表可触发,应用必须暴露不可信 PDF 加载路径。 - 如果
isEvalSupported已显式关闭,风险会显著降低。 - 需要关注 PDF 查看器所在域的权限,尤其是同源 Cookie 和前端接口权限。
- 升级
pdfjs-dist到 4.2.67 或更新版本。 - 临时缓解:将
isEvalSupported设置为false。 - 将 PDF 查看器放到低权限、隔离域名或沙箱 iframe 中。
- 对上传的 PDF 做文件类型、大小和来源控制,不在高权限后台页面直接打开不可信文件。
AI agent 输出时应同时给出:pdfjs-dist 版本、isEvalSupported 配置、PDF 来源、查看器域名权限和修复版本。