🇰🇷 한글 설명
music-metadata 11.15.0 미만 버전의 DSF 파서에서 비정상적인 청크를 처리할 때 비동기 프로미스를 적절히 대기하지 않아 발생하는 취약점입니다. 조작된 DSF 파일을 입력할 경우 RangeError가 발생하며, 이는 Node.js 환경에서 처리되지 않은 거부(unhandled rejection)로 이어져 프로세스를 중단시킬 수 있습니다. 이 취약점은 서비스 가용성 상실을 초래할 수 있습니다.
💡 쉬운 설명
음악 파일의 정보를 읽어주는 프로그램이 특수하게 만들어진 파일을 읽을 때 오류를 일으켜 프로그램이 갑자기 꺼질 수 있는 문제입니다. 공격자가 이 파일을 이용해 서버를 멈추게 만들 수 있습니다.
🇺🇸 원문 (English)
music-metadata is a metadata parser for audio and video media files. Prior to 11.15.0, the DSF parser handles an unrecognized chunk by calling tokenizer.ignore without awaiting the returned promise and without first rejecting a chunk size smaller than the 12-byte chunk header. A crafted DSF input can produce a negative ignore length; with strtok3 10.3.5 or later, the resulting RangeError is detached from the parseBuffer promise and becomes an unhandled rejection under Node.js default behavior. The parse call can appear to resolve before the process crashes, bypassing per-parse try/catch handling. The demonstrated impact is availability loss only and requires the DSF parsing path. This issue is fixed in version 11.15.0.
📍 영향받는 시스템
music-metadata versions prior to 11.15.0
⚔️ 공격 벡터
조작된 DSF 형식의 오디오 파일을 파서에 입력하여 비동기 예외를 유도함
🛡️ 대응 방법
music-metadata를 11.15.0 이상의 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 music-metadata의 버전이 11.15.0 미만인지 확인하십시오.