🔍 CVE-2026-40608

6.2
CVSS Score
MEDIUM
2026-04-21
2026-10-26 22:10
✅ 완료

🇰🇷 한글 설명

Next AI Draw.io의 HTTP sidecar에서 요청 바디 크기 제한이 없어 대용량 페이로드(500MB 이상)를 보내면 Node.js V8 힙 메모리 고갈로 서버가 다운되는 메모리 고갈 공격 취약점이다. /api/state, /api/restore, /api/history-svg 엔드포인트가 영향받는다.

💡 쉬운 설명

Next AI Draw.io 서버에 매우 큰 파일을 업로드하면 서버의 메모리가 가득 차서 서비스가 중단된다. 악의적인 사용자가 서버를 의도적으로 중단시킬 수 있다.

🇺🇸 원문 (English)

Next AI Draw.io is a next.js web application that integrates AI capabilities with draw.io diagrams. Prior to 0.4.15, the embedded HTTP sidecar contains three POST handlers (/api/state, /api/restore, and /api/history-svg) that process incoming requests by accumulating the entire request body into a JavaScript string without any size limitations. Node.js buffers the entire payload in the V8 heap. Sending a sufficiently large body (e.g., 500 MiB or more) will exhaust the process heap memory, leading to an Out-of-Memory (OOM) error that crashes the MCP server. This vulnerability is fixed in 0.4.15.

📍 영향받는 시스템

Next AI Draw.io 0.4.15 미만 모든 버전

⚔️ 공격 벡터

HTTP POST 요청으로 /api/state, /api/restore, /api/history-svg에 500MB 이상의 대용량 페이로드 전송

🛡️ 대응 방법

Next AI Draw.io를 0.4.15 이상으로 업그레이드 또는 요청 바디 크기 제한 미들웨어 적용 (예: express.json({ limit: '10mb' }))

🔧 검증 코드

서버 응답에서 버전 정보 확인 또는 npm 패키지 목록에서 0.4.15 이상 설치 여부 확인

Shell / Script
curl -s http://localhost:3000 2>&1 | grep -i 'draw.io\|version' || npm list next-ai-draw.io 2>/dev/null | head -3

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Node.js