IPBUF安全漏洞报告
English
CVE-2026-40980 CVSS 6.5 中危

CVE-2026-40980 Spring AI 拒绝服务漏洞

披露日期: 2026-04-28

漏洞信息

漏洞编号
CVE-2026-40980
漏洞类型
拒绝服务
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Spring AI

相关标签

拒绝服务Spring AIDoS资源耗尽CVE-2026-40980

漏洞概述

Spring AI 在处理 PDF 文件时存在安全漏洞。攻击者可构造恶意 PDF 文件,触发 `ForkPDFLayoutTextStripper` 组件分配不合理的大量内存资源。由于缺乏有效的内存限制机制,该漏洞可导致服务器资源耗尽,进而引发服务拒绝,严重影响系统可用性。

技术细节

该漏洞源于 Spring AI 项目中的 PDF 文本提取组件 `ForkPDFLayoutTextStripper`。该组件在解析特定结构的 PDF 文件时,未能正确处理边界条件或恶意构造的数据流,导致程序尝试申请超出系统内存上限的堆空间。攻击者利用该漏洞无需用户交互,只需通过网络向受影响应用发送特制 PDF 文件即可触发。CVSS 3.1 向量为 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H,表明攻击复杂度低,主要影响系统的可用性,导致应用崩溃或响应停滞。

攻击链分析

STEP 1
1. 漏洞发现
攻击者识别目标系统使用的是存在漏洞的 Spring AI 版本(1.0.0-1.0.5 或 1.1.0-1.1.4)。
STEP 2
2. 恶意文件构造
攻击者利用工具生成包含特定结构(如嵌套过深或字体数据异常)的恶意 PDF 文件。
STEP 3
3. 文件投递
攻击者通过网络接口将恶意 PDF 文件上传至目标服务器或发送给目标应用处理。
STEP 4
4. 触发解析
应用调用 Spring AI 的 `ForkPDFLayoutTextStripper` 处理该文件,开始执行解析逻辑。
STEP 5
5. 资源耗尽
解析过程中组件尝试分配过量内存,导致 JVM 抛出 OutOfMemoryError,服务崩溃或不可用。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Conceptual PoC to demonstrate the vulnerability trigger // This requires a maliciously crafted PDF file (malicious.pdf) import org.springframework.ai.reader.pdf.PagePdfDocumentReader; import org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig; public class PocExploit { public static void main(String[] args) { // Configure the reader to use the vulnerable ForkPDFLayoutTextStripper PdfDocumentReaderConfig config = PdfDocumentReaderConfig.builder() .withPageTopMargin(0) .withPageExtractedTextFormatter((...) -> ...) // Implicitly uses vulnerable stripper .build(); // Load the crafted malicious PDF // The PDF contains structures causing infinite loops or massive allocation in ForkPDFLayoutTextStripper PagePdfDocumentReader reader = new PagePdfDocumentReader("malicious.pdf", config); try { // Trigger the parsing and memory exhaustion reader.get(); } catch (OutOfMemoryError e) { System.out.println("Vulnerability Triggered: OutOfMemoryError occurred."); } } }

影响范围

Spring AI 1.0.0 - 1.0.5
Spring AI 1.1.0 - 1.1.4

防御指南

临时缓解措施
在无法立即升级的情况下,建议限制上传文件的大小,并在应用层面对 PDF 处理操作进行资源监控。同时,可考虑暂时禁用自动解析不可信来源 PDF 文件的功能,或使用沙箱环境运行相关解析任务以防止主机资源耗尽。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表