CVE-2025-11362CVE-2025-11362是pdfmake JavaScript库中存在的一个高危资源耗尽型拒绝服务漏洞。pdfmake是一款广泛用于客户端和服务器端PDF文档生成的JavaScript库,支持在PDF中嵌入图片、文件等资源。该漏洞影响0.3.0-beta.17之前的所有版本。
漏洞的核心问题在于pdfmake处理文件嵌入(file embedding)功能时,对重定向URL缺乏适当的限制和节流机制。攻击者可以通过构造特殊的输入,使pdfmake在处理文件嵌入时反复跟随URL重定向,从而无限制地消耗系统资源(如内存、文件句柄、网络连接等)。当攻击者提供精心构造的恶意输入时,应用程序会因资源耗尽而崩溃或变得无响应。
该漏洞由Snyk安全团队于2025年10月7日公开披露,CVSS 3.1评分为7.5分,属于高危级别。攻击者无需认证即可通过网络远程发起攻击,无需用户交互,主要影响系统的可用性。由于pdfmake常用于Web应用和服务端PDF生成服务,该漏洞可能影响大量依赖该库的业务系统,造成服务中断。
pdfmake库在处理文档中的文件嵌入功能时,会通过URL获取远程资源并将其嵌入到生成的PDF文档中。正常情况下,库应当对URL重定向的次数进行限制,并设置合理的超时和资源使用上限。
然而,在0.3.0-beta.17之前的版本中,pdfmake在处理file embedding的URL时没有对重定向进行限制。攻击者可以配置一个返回无限重定向链的服务器(例如通过设置HTTP 301/302响应头中的Location字段指向自身或形成循环),当pdfmake尝试获取该URL时,它会不断地跟随重定向,每次重定向都会消耗额外的网络资源、内存和CPU时间,最终导致资源耗尽。
利用方式如下:
1. 攻击者搭建一个返回无限重定向的HTTP服务器,或利用现有的重定向漏洞服务;
2. 攻击者构造一个使用pdfmake的恶意请求,在PDF文档定义中嵌入指向该恶意URL的文件引用;
3. 当pdfmake处理该文档时,会反复跟随重定向,不断分配资源;
4. 随着重定向次数累积,系统资源被耗尽,导致进程崩溃或服务不可用;
5. 由于无需认证和用户交互,攻击者可以通过自动化工具批量发起攻击,造成大规模拒绝服务影响。
该漏洞的修复提交为GitHub commit 741169634bf07730e010cd77477b6cc038e846ed,修复方案为对URL重定向次数进行限制,并添加资源使用的节流机制。