🇰🇷 한글 설명
Zuke는 Deno용 코드 기반 강타입 빌드 자동화 시스템입니다. 1.51.0 이전 버전의 @zuke/core는 Windows에서 .cmd 및 .bat 셔틀을 실행할 때 cmd /c를 붙여 cmd.exe가 C 런타임 인용 규칙으로 조합된 명령줄을 다시 파싱하게 합니다. 이로 인해 공격자가 조작한 텍스트에 따옴표 없는 &, |, ^ 메타문자가 포함되면 빌드 컨텍스트와 자격 증명 권한으로 추가 명령이 실행될 수 있습니다.
💡 쉬운 설명
Windows에서 Zuke 빌드 도구를 사용할 때, 공격자가 입력값에 특수문자를 섞으면 빌드 과정에서 원치 않는 명령이 몰래 실행될 수 있습니다. 이 명령은 빌드에 저장된 인증 정보에도 접근할 수 있습니다.
🇺🇸 원문 (English)
Zuke is a code-first, strongly typed build automation system for Deno. Prior to 1.51.0, @zuke/core launches resolved Windows .cmd and .bat shims by prepending cmd /c, causing cmd.exe to reparse a command line assembled with C-runtime quoting rules. A build running on Windows that resolves a tool from node_modules/.bin and passes attacker-influenced text containing an unquoted &, |, or ^ metacharacter can execute an additional attacker-chosen command in the build's context with access to its credentials. POSIX platforms are not affected. This issue is fixed in version 1.51.0.
📍 영향받는 시스템
Windows에서 실행되는 @zuke/core 1.51.0 미만 버전 (POSIX 계열 시스템은 영향 없음)
⚔️ 공격 벡터
빌드 중 node_modules/.bin의 도구를 호출할 때 공격자가 제어하는 인자에 따옴표 없는 &, |, ^ 문자를 삽입하여 cmd.exe에서 추가 명령 실행
🛡️ 대응 방법
@zuke/core를 1.51.0 이상으로 업그레이드하고, 신뢰할 수 없는 입력이 빌드 명령 인자로 전달되지 않도록 검증합니다.
🔧 검증 코드
출력된 버전이 1.51.0 미만이면 취약하므로 업그레이드가 필요하고, 1.51.0 이상이면 패치가 적용된 것입니다. 결과가 없으면 프로젝트에 해당 패키지가 설치되어 있지 않습니다.
npm ls @zuke/core 2>/dev/null | grep -E '@zuke/core@'