CVE-2026-15921 in nvm
요약
\~에 의해 VulDB • 2026. 07. 15.
Node Version Manager(nvm)는 여러 node.js 버전을 관리하기 위한 POSIX 호환 셸 함수입니다. 버전 0.32.1부터 0.40.5까지의 nvm에서, `nvm ls-remote`(그리고 `nvm install --lts`와 같이 원격 LTS 별칭을 새로 고치는 다른 명령어들)는 node.js 미러의 `index.tab` 파일을 파싱하고 각 릴리스의 LTS 코드네임 필드를 검증 없이 별칭 파일명으로 사용합니다. 악성, 침해당했거나 중간자 공격(man-in-the-middle)이 가능한 미러가 `../../../.bashrc`와 같은 경로 순회(path-traversal) 시퀀스를 포함하는 LTS 코드네임을 반환하면, nvm은 관련 버전 문자열을 `$NVM_DIR/alias` 외부의 경로의 파일에 작성하게 됩니다. 기본 레이아웃(`$NVM_DIR`이 `~/.nvm`)에서 이는 셸 시작 파일을 포함한 사용자의 홈 디렉토리 내 파일 생성 또는 덮어쓰기를 유발할 수 있으며, 이후 셸 세션에서 코드 실행(code execution)으로 이어질 수 있습니다. 공격을 위해서는 피해자가 적대적인 미러(침해당한 미러나 CDN, 네트워크 중간자 공격, 또는 악의적으로 구성된 `NVM_NODEJS_ORG_MIRROR`/`NVM_IOJS_ORG_MIRROR`)를 사용해야 하며 영향을 받는 명령어를 실행해야 합니다. 버전 0.40.6은 원격 LTS 코드네임을 안전한 별칭 파일명으로 검증하고 alias 파일을 작성할 때 `..` 경로 구성 요소를 거부합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.