CVE-2026-40980:攻击者控制的 PDF 可能导致内存耗尽
中危 | 2026年4月27日 | CVE-2026-40980
描述
在 Spring AI 中,攻击者可以构造恶意 PDF 文件。当该文件由 ForkPDFLayoutTextStripper 处理时,可能触发不合理的大量内存分配,最终导致应用出现内存占用异常,甚至引发 OOM,也就是内存耗尽问题。
该问题主要影响使用 ForkPDFLayoutTextStripper,并且将用户提供的输入传递给 DocumentReader 的应用。常见风险场景包括文档解析、知识库导入、PDF 内容抽取、检索增强生成流程中的文件上传与文本读取。如果应用允许用户上传 PDF,并自动进入解析流程,就需要重点关注该漏洞。
该漏洞的主要影响是可用性风险。攻击者不一定需要获取系统权限,只要能够提交特制 PDF,就可能让服务在解析阶段消耗大量内存资源,造成接口响应变慢、任务失败、应用重启,或影响同一环境中其他服务的稳定运行。对于对外开放文件上传、批量文档入库或在线知识库构建能力的系统,应优先完成版本排查和修复。
受影响的 Spring 产品和版本
受影响产品为 Spring AI,涉及以下版本:
● 1.0.0 - 1.0.x
● 1.1.0 - 1.1.x
缓解措施
受影响版本的用户应升级到对应的修复版本。升级后,PDF 解析相关处理逻辑会得到修正,降低恶意 PDF 触发异常内存分配的风险。
无需采取额外缓解措施。建议受影响用户尽快升级至修复版本,并在升级后验证 PDF 上传、文本解析、知识库导入和批量文档处理流程是否正常。
处理建议
建议先确认应用是否使用 Spring AI 的 PDF 文档读取能力,并检查是否通过 ForkPDFLayoutTextStripper 处理用户上传或外部来源的 PDF 文件。如果存在相关流程,应尽快完成版本升级。
同时,建议对文件上传入口增加基础限制,包括文件大小、文件类型、单次上传数量、解析超时时间和任务并发数量。对于面向外部用户的文档解析服务,应避免让单个文件解析任务占用过多内存资源。
如果近期出现过 PDF 解析失败、内存突增、服务重启或批量导入卡死等情况,应结合应用日志、容器资源监控和上传记录排查是否存在异常 PDF 文件。对于可疑文件,应隔离处理,并在完成升级后重新验证解析流程。