🇰🇷 한글 설명
Servify Express 1.2 미만 버전에서 express.json() 사용 시 요청 본문의 크기 제한이 설정되지 않아 발생하는 취약점입니다. 공격자가 매우 큰 크기의 JSON 데이터를 전송할 경우 과도한 메모리 사용을 유발하여 서비스 거부(DoS) 상태를 일으킬 수 있습니다. 이는 Express 자체의 결함이 아닌 설정 오류로 인한 문제입니다.
💡 쉬운 설명
서버가 한 번에 받아들일 수 있는 데이터의 크기를 정해두지 않아 발생하는 문제입니다. 공격자가 엄청나게 큰 데이터를 보내 서버의 메모리를 가득 채워 서버를 멈추게 만들 수 있습니다.
🇺🇸 원문 (English)
Servify Express is a Node.js package to start an Express server and log the port it's running on. Prior to 1.2, the Express server used express.json() without a size limit, which could allow attackers to send extremely large request bodies. This can cause excessive memory usage, degraded performance, or process crashes, resulting in a Denial of Service (DoS). Any application using the JSON parser without limits and exposed to untrusted clients is affected. The issue is not a flaw in Express itself, but in configuration. This issue is fixed in version 1.2. To work around, consider adding a limit option to the JSON parser, rate limiting at the application or reverse-proxy level, rejecting unusually large requests before parsing, or using a reverse proxy (such as NGINX) to enforce maximum request body sizes.
📍 영향받는 시스템
Servify Express 버전 1.2 미만
⚔️ 공격 벡터
제한 없는 크기의 대용량 JSON 요청 본문을 서버로 전송
🛡️ 대응 방법
Servify Express를 1.2 버전 이상으로 업데이트하거나, JSON 파서에 크기 제한(limit) 옵션을 추가합니다.
🔧 검증 코드
출력된 결과에서 servify-express의 버전이 1.2.0 미만인지 확인합니다.