🇰🇷 한글 설명
pnpm 10.34.0 및 11.4.0 미만 버전에서 lockfile의 git resolution.commit 값을 검증 없이 git fetch에 전달하는 취약점이 발견되었습니다. 공격자가 조작된 lockfile을 통해 --upload-pack 옵션을 주입하면 SSH 또는 로컬 환경에서 임의의 명령어를 실행할 수 있습니다.
💡 쉬운 설명
패키지 관리자인 pnpm이 설치 과정에서 악성 코드가 포함된 설정 파일을 읽을 때, 해커가 심어놓은 명령어를 컴퓨터에서 실행할 수 있는 보안 약점입니다. 주로 SSH나 로컬 연결을 사용하는 환경에서 위험하며, 업데이트를 통해 해결할 수 있습니다.
🇺🇸 원문 (English)
pnpm is a package manager. Prior to 10.34.0 and 11.4.0, pnpm passes the lockfile-controlled git resolution.commit value to git fetch without a -- separator or commit-format validation. For git dependencies fetched through the shallow-fetch path, a malicious lockfile can replace the expected 40-character commit hash with a Git option such as --upload-pack=<command>. For SSH and local transports, --upload-pack can execute the supplied command. HTTPS transports ignore --upload-pack, so the practical attack surface is primarily SSH or local git dependencies. This vulnerability is fixed in 10.34.0 and 11.4.0.
📍 영향받는 시스템
pnpm versions prior to 10.34.0 and 11.4.0
⚔️ 공격 벡터
조작된 lockfile의 commit 해시 값을 Git 옵션(--upload-pack)으로 변조하여 SSH 또는 로컬 Git 의존성 호출 시 명령어 실행
🛡️ 대응 방법
pnpm을 10.34.0 또는 11.4.0 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 10.34.0 미만이거나 11.4.0 미만인 경우 취약할 수 있습니다.