대규모 네트워크 트래픽 없이 소량의 악성 요청만으로도 시스템 마비
크리밋 김태범 리드 “보안 패치 주기 앞당기는 예방적 보안 전략 필요해”
[보안뉴스 조재호 기자] Node.js 웹 프레임워크인 엑스프레스JS(ExpressJS) 생태계에서 널리 사용되는 파일 업로드 미들웨어 ‘multer’(멀터)에서 서버 자원을 고갈시켜 서비스 거부(DoS)를 유발할 수 있는 고위험도 취약점(CVE-2026-3304)이 발견됐다. 공통 취약점 평가 시스템(CVSS) 8.7점을 기록한 이 취약점은 현재 2.1.0 버전을 통해 보안 패치가 배포된 상태다.

▲multer 취약점 관련 Github 공지 [출처: Github 공식 홈페이지]
이 취약점은 multipart/form-data 형식의 파일을 처리하는 과정에서 발생하는 임시 파일 정리(Cleanup) 로직의 누락에서 비롯됐다. 정상적 환경에선 파일 업로드 처리가 끝나거나 오류가 발생하면 임시 생성된 파일이 디스크에서 즉각 삭제돼야 한다.
하지만 공격자가 의도적으로 조작된 비정상적 요청(Malformed requests)을 서버에 전송할 경우 문제가 발생한다. 파일 처리 중 초기 오류가 발생하더라도, 후속 파일 파트 처리를 위한 임시 파일(Placeholder)들이 디스크에 계속 생성되지만 정상적으로 삭제되지 않는 결함이 있기 때문이다.
결과적으로 디스크에 남겨진 고아 파일(Orphaned files)들이 지속적으로 누적되며 서버의 스토리지 자원을 고갈시키고, 최종적으로 이 미들웨어를 사용하는 전체 웹 서비스의 장애(DoS)를 일으킨다. 복잡한 권한 탈취 없이도 네트워크를 통해 누구나 원격에서 시스템을 마비시킬 수 있어 위험도가 높다.
multer 프로젝트 메인테이너는 이 취약점을 해결하기 위해 임시 파일 삭제 로직을 강화한 패치를 배포했다. 파일 처리 콜백 함수 시작 부분에 에러 발생 여부를 확인하는 상태 확인(errorOccured) 로직을 추가, 오류가 감지되면 즉각 임시 파일을 삭제하고 스트림 처리를 중단하도록 수정했다. 취약점에 노출된 기존 2.1.0 미만 버전 사용자는 서비스 중단을 방지하기 위해 2.1.0 이상 버전으로 즉시 업데이트해야 한다.
이번 취약점을 제보한 김태범 크리밋 제품팀 리드는 “ExpressJS 생태계에서 많이 쓰는 미들웨어 라이브러리에서 발견된 취약점으로 서버의 자원 고갈을 통해 이 미들웨어를 사용하는 서비스에 장애를 일으킬 수 있다”며 “최근 AI를 활용해 기존에 탐지하지 못했던 취약점들이 많이 나오고 있는데, 소프트웨어 보안 패치 주기를 조금 더 앞당기는 시프트 레프트(Shift-Left) 관점의 접근이 더욱 필요해지고 있다”고 말했다.
[조재호 기자(sw@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>








.jpg)





