🇰🇷 한글 설명
Node.js의 multipart/form-data 처리를 위한 multer 미들웨어에서 발생하는 취약점입니다. 특수하게 조작된 두 개의 텍스트 필드 이름을 포함한 요청을 보내면 처리 과정에서 RangeError가 발생하여 Node.js 프로세스가 강제 종료됩니다. 이로 인해 원격에서 서비스 거부(DoS) 공격이 가능합니다.
💡 쉬운 설명
해커가 특수한 데이터를 담은 요청을 보내면 서버 프로그램이 갑자기 꺼져버리는 문제입니다. 이로 인해 웹사이트나 서비스가 정상적으로 작동하지 않게 됩니다.
🇺🇸 원문 (English)
multer is a middleware for handling multipart/form-data in Node.js. A small multipart request containing two specially crafted text field names can cause an uncaught RangeError (Invalid array length) that terminates the Node.js process. The first field uses a very large numeric array index to allocate a maximum-length sparse array, and a second field then pushes past that length, which throws inside the append-field dependency and is not caught by multer. All versions before 2.3.0 are affected, and the issue is a remotely triggerable denial of service. The issue is fixed in multer 2.3.0. Upgrade to multer 2.3.0 to remediate.
📍 영향받는 시스템
multer 2.3.0 미만 모든 버전
⚔️ 공격 벡터
조작된 텍스트 필드 이름을 포함한 multipart/form-data 요청 전송
🛡️ 대응 방법
multer 버전을 2.3.0 이상으로 업그레이드
🔧 검증 코드
출력된 결과에서 multer의 버전이 2.3.0 미만인지 확인합니다.