IPBUF安全漏洞报告
English
CVE-2026-40608 CVSS 6.2 中危

CVE-2026-40608: Next AI Draw.io内存耗尽漏洞

披露日期: 2026-04-21

漏洞信息

漏洞编号
CVE-2026-40608
漏洞类型
拒绝服务
CVSS评分
6.2 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Next AI Draw.io

相关标签

拒绝服务内存耗尽OOMNext AI Draw.ioCVE-2026-40608

漏洞概述

Next AI Draw.io 0.4.15之前的版本存在严重的内存耗尽漏洞。该应用集成的HTTP sidecar在处理/api/state等POST请求时,由于未对请求体大小进行限制,会将整个请求体累积到JavaScript字符串中。攻击者无需认证即可向这些端点发送超大数据包(如500MiB),迅速导致服务进程内存耗尽并引发崩溃,造成拒绝服务。

技术细节

该漏洞的核心在于Next AI Draw.io应用中集成的HTTP sidecar组件缺乏有效的输入验证。在处理针对/api/state、/api/restore及/api/history-svg这三个端点的POST请求时,应用程序会将完整的请求体加载并累积到一个JavaScript字符串对象中,且未实施任何长度限制或流式处理机制。Node.js运行时环境在处理这些数据时,会将整个payload缓冲在V8堆内存空间内。攻击者无需具备任何权限或进行用户交互,只需向目标服务器发送一个足以填满堆内存的巨型POST请求(例如500 MiB或更大),即可触发系统的内存保护机制。这将导致Out-of-Memory (OOM)错误,迫使MCP服务器进程崩溃,造成服务不可用,形成拒绝服务攻击。

攻击链分析

STEP 1
侦察
攻击者发现目标服务器正在运行 Next AI Draw.io 应用,且版本低于 0.4.15。
STEP 2
武器化
攻击者准备一个超大的数据负载(Payload),大小超过 500 MiB,旨在耗尽 Node.js 进程的堆内存。
STEP 3
投递
攻击者向受影响的端点(如 /api/state、/api/restore 或 /api/history-svg)发送 POST 请求,并在请求体中填充巨大的数据。
STEP 4
利用
服务器端的 HTTP sidecar 接收请求,尝试将整个请求体读入内存字符串,导致 V8 堆内存迅速被填满。
STEP 5
影响
触发 Out-of-Memory (OOM) 错误,导致 MCP 服务器进程崩溃,服务不可用。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (example) target_url = "http://localhost:3000/api/state" # Generate a large payload (e.g., 500MB) to trigger OOM # CAUTION: This will consume significant memory on both client and server payload_size = 500 * 1024 * 1024 # 500 MB print(f"Generating payload of size {payload_size} bytes...") payload = b"A" * payload_size try: print("Sending malicious request...") response = requests.post(target_url, data=payload, timeout=30) print(f"Request completed with status: {response.status_code}") except requests.exceptions.RequestException as e: print(f"Request failed (Server likely crashed): {e}")

影响范围

Next AI Draw.io < 0.4.15

防御指南

临时缓解措施
如果无法立即升级,建议在反向代理(如 Nginx)配置中添加 `client_max_body_size` 指令以限制上传大小,或者限制容器的内存使用上限,以防止攻击影响宿主机或其他服务。

参考链接

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