🇰🇷 한글 설명
parse-duration 라이브러리의 문자열 파싱 과정에서 CPU 바운드 작업으로 인한 이벤트 루프 지연(0.5~50ms)이 발생합니다. 대용량 또는 유니코드 문자를 포함한 입력(약 10MB)으로 인해 메모리 누수 및 Node.js 애플리케이션의 OOM 크래시가 발생할 수 있습니다.
💡 쉬운 설명
시간을 나타내는 문자를 처리하는 라이브러리가 매우 긴 또는 특수 문자 문자열을 받으면 애플리케이션을 극도로 느리게 하거나 멈추게 합니다. 버전 2.1.3 이상으로 업데이트하면 완전히 해결됩니다.
🇺🇸 원문 (English)
parse-duraton is software that allows users to convert a human readable duration to milliseconds. Versions prior to 2.1.3 are vulnerable to an event loop delay due to the CPU-bound operation of resolving the provided string, from a 0.5ms and up to ~50ms per one operation, with a varying size from 0.01 MB and up to 4.3 MB respectively, and an out of memory that would crash a running Node.js application due to a string size of roughly 10 MB that utilizes unicode characters. Version 2.1.3 contains a patch.
📍 영향받는 시스템
parse-duration < 2.1.3 (Node.js 애플리케이션)
⚔️ 공격 벡터
악의적 사용자가 대용량 또는 유니코드 문자로 구성된 duration 문자열 입력을 통해 CPU 고갈 및 메모리 오버플로우 유도
🔧 검증 코드
출력된 버전이 2.1.3 이상이면 안전, 미만이면 즉시 업그레이드 필요
npm list parse-duration 2>/dev/null | grep 'parse-duration' | awk '{print $2}'