🇰🇷 한글 설명
brace-expansion 라이브러리에서 중첩된 중괄호 그룹을 처리할 때 재귀 호출이 발생하여 네이티브 스택을 고갈시키는 취약점입니다. 공격자가 신뢰할 수 없는 패턴을 입력할 경우 Node.js 프로세스가 종료될 수 있는 서비스 거부(DoS) 상태를 유발합니다.
💡 쉬운 설명
복잡하게 꼬인 중괄호 패턴을 입력하면 컴퓨터의 메모리 작업 공간이 가득 차서 프로그램이 갑자기 꺼지는 문제입니다. 악의적인 사용자가 이 패턴을 보내면 서버를 멈추게 할 수 있습니다.
🇺🇸 원문 (English)
The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.20, 2.1.6, 3.0.8, and 5.0.11, deeply nested brace groups cause expand_() to recurse once per nesting level at comma-member and single-set expansion sites, exhausting the native stack before output limits can apply and potentially terminating the Node.js process. expand_ performs uncontrolled recursion for nested brace alternatives and single-part sets. deeply nested brace groups supplied as an untrusted pattern. expand_ is affected. expand is affected. Comma members is affected. Single set is affected. native stack exhaustion during nested sub-expansion. process-terminating denial of service. This issue is fixed in versions 1.1.20, 2.1.6, 3.0.8, and 5.0.11.
📍 영향받는 시스템
brace-expansion < 1.1.20, 2.1.6, 3.0.8, 5.0.11
⚔️ 공격 벡터
신뢰할 수 없는 사용자가 깊게 중첩된 중괄호 패턴을 포함한 문자열을 expand_ 함수에 입력함
🛡️ 대응 방법
라이브러리를 최신 버전(1.1.20, 2.1.6, 3.0.8, 5.0.11 이상)으로 업데이트함
🔧 검증 코드
출력된 버전이 취약한 버전 범위에 포함되는지 확인합니다.