🇰🇷 한글 설명
@fastify/middie 9.1.0부터 9.3.2 버전에서 잘못된 퍼센트 인코딩 시퀀스가 포함된 요청 경로를 처리할 때 URL 정규화 단계에서 예외가 발생합니다. 이 예외가 처리되지 않고 상위로 전달되어 Node.js 프로세스를 즉시 종료시키므로 서비스 거부(DoS) 공격이 가능합니다.
💡 쉬운 설명
잘못된 형식의 웹 주소를 보내면 서버 프로그램이 갑자기 꺼져버리는 문제입니다. 이로 인해 웹사이트 접속이 불가능해지는 서비스 중단 상태가 발생할 수 있습니다.
🇺🇸 원문 (English)
@fastify/middie versions 9.1.0 through 9.3.2 fail to guard the URL normalization step used by the standalone engine when incoming request paths contain malformed percent-encoded sequences. Inputs such as an incomplete percent escape or a truncated multibyte sequence cause the underlying decoder to throw synchronously, and the exception escapes the middie normalize step and terminates the Node.js process. The bypass affects applications that call middie.run directly on the standalone engine API, causing an immediate denial of service for all connected clients until restart. Applications using the Fastify plugin path are not affected because Fastifys error handler catches the exception. Patches: upgrade to @fastify/middie 9.3.3. Workarounds: migrate from the standalone engine API to the Fastify plugin path, where the framework error handler catches the exception.
📍 영향받는 시스템
@fastify/middie versions 9.1.0 through 9.3.2 (standalone engine API 사용 시)
⚔️ 공격 벡터
불완전한 퍼센트 이스케이프 또는 잘린 멀티바이트 시퀀스가 포함된 악의적인 URL 경로 요청
🛡️ 대응 방법
@fastify/middie 버전을 9.3.3 이상으로 업그레이드하거나, standalone engine API 대신 Fastify 플러그인 경로를 사용하십시오.
🔧 검증 코드
출력된 버전이 9.1.0에서 9.3.2 사이인지 확인하여 취약 여부를 판단합니다.