Back to Feed
总结
科技媒体称,广泛使用的 JavaScript PDF 生成库 jsPDF(npm 每周下载超350万次)被披露存在高危漏洞 CVE-2025-68428(CVSS 9.2)。漏洞主要影响其 Node.js 构建版本的文件加载机制(如 loadFile),当应用将未经清洗的用户输入作为路径传入时,攻击者可利用路径遍历/本地文件包含读取服务器敏感文件,并将内容写入生成的 PDF 导出,波及 addImage、html、addFont 等调用链。维护团队已在 jsPDF 4.0.0 中修复并默认限制文件系统访问;研究者提示 Node 20 权限模型仍处实验阶段,建议升级至 Node.js 22.13.0、23.5.0 或 24.0.0 及以上,并谨慎配置 --permission 与文件读取授权范围,同时加强路径白名单校验。
正文
IT之家 1 月 8 日消息,科技媒体 bleepingcomputer 昨日(1 月 7 日)发布博文,报道称广泛使用的 JavaScript PDF 生成库 jsPDF 近期报告严重安全漏洞(CVE-2025-68428), CVSS 评分高达 9.2,官方已发布 4.0.0 版本修复此问题。 IT之家注:jsPDF 是一个强大的开源 JavaScript 库, 每周在 npm 注册表上的下载量超过 350 万次。 该库支持开发者在浏览器端(客户端)直接生成 PDF 文件,无需依赖服务器,支持添加文本、图片、形状、表格,并能将 HTML 内容转换为 PDF,非常适合需要动态生成文档(如报表、发票)的前端应用。它通过直观的 API,提供了文本格式设置、图像插入、多页处理、自动分页和样式自定义等丰富功能。 本次曝光的漏洞追踪编号为 CVE-2025-68428,严重程度评分(CVSS)高达 9.2,核心在于本地文件包含(LFI)和路径遍历缺陷, 攻击者利用该缺陷可读取服务器本地文件系统中的敏感数据,并将其直接包含在生成的 PDF 文件中导出,从而导致机密信息泄露。 该漏洞主要影响 jsPDF 的 Node.js 构建版本(即 dist / jspdf.node.js 等文件)。问题出在 loadFile 等文件加载机制上。 当应用程序将未经"清洗"的用户输入直接作为文件路径传递给 jsPDF 后,攻击者便可操纵路径指向系统敏感文件(如 /etc/ passwd 或配置文件)。除 loadFile 外,还波及 addImage、html 和 addFont 等调用文件加载方法。 维护团队已在 jsPDF 4.0.0 版本中修复了该漏洞。新版本默认限制了文件系统访问权限,转而依赖 Node.js 的权限模型来管理文件读取操作。 然而,安全公司 Endor Labs 的研究人员指出,该权限模型在 Node.js 20 中仍处于实验阶段。因此,专家建议开发者将运行环境升级至 Node.js 22.13.0、23.5.0 或 24.0.0 及更高版本,以确保修复方案稳定生效。 Endor Labs 同时警告,单纯升级库版本并非万无一失。开发者在启用修复方案建议的 --permission 标志时需格外小心,因为该标志会影响整个 Node.js 进程。若在配置 --allow-fs-read(允许文件系统读取)时权限设置过宽,可能会抵消补丁的修复效果,导致系统再次暴露于风险之中。 对于无法立即升级 Node.js 版本的旧项目,jsPDF 团队建议在将用户提供的路径传递给库函数之前,必须进行严格的输入验证和清洗。 Endor Labs 的报告也补充说明,如果文件路径是硬编码的、来自受信任的配置源,或输入经过了严格的白名单过滤,可以大幅降低该漏洞的被利用风险。
发布时间: