brace-expansion npm 패키지, 제로-스텝 시퀀스로 인한 프로세스 정지 및 메모리 고갈 취약점 발견
Node.js 생태계의 핵심 유틸리티 패키지인 brace-expansion에서 중간(medium) 심각도의 보안 취약점이 공개됐다. 이 취약점은 특정 제로-스텝(zero-step) 시퀀스를 처리할 때 애플리케이션 프로세스를 무한정 정지시키고 시스템 메모리를 고갈시킬 수 있는 위험을 내포하고 있다. npm audit 도구를 통해 확인된 이 결함은 수많은 프로젝트의 빌드 체인과 개발 도구에 잠재적인 서비스 거부(DoS) 공격 벡터를 노출시켰다.
취약점은 패키지의 시퀀스 확장 로직에서 발생하며, 공식 GitHub 보안 권고(GHSA-f886-m6hf-6m8v)에 따라 'moderate' 등급으로 분류됐다. brace-expansion는 수천 개의 인기 npm 패키지에 간접 의존성으로 널리 사용되는 핵심 라이브러리로, minimatch, glob 패턴 매칭 등 파일 시스템 작업을 수행하는 도구들의 기반을 이루고 있다. 이로 인해 실제 영향 범위는 직접적인 사용자를 훨씬 넘어선다.
해당 취약점은 악의적으로 조작된 brace 패턴(예: {1..0})을 입력받아 처리할 때 무한 루프에 빠지도록 유도할 수 있다. 이는 서버리스 함수, 지속적 통합(CI) 파이프라인, 또는 명령줄 인터페이스(CLI) 도구를 통해 원격에서 트리거될 가능성이 있다. 개발팀은 npm audit fix 명령어 실행 또는 패키지의 수동 업데이트를 통한 즉시 조치를 권고하고 있다. 이번 발견은 오픈소스 소프트웨어 공급망에서 광범위하게 퍼져 있는 의존성의 취약성이 얼마나 쉽게 전체 시스템의 안정성을 위협할 수 있는지를 다시 한번 보여준다.