무슨 일이 있었나
mise는 파싱 중 Tera 템플릿 엔진을 통해 .tool-versions 구성 파일을 처리하고 해당 컨텍스트에서 exec() 함수를 등록합니다. .mise.toml 파일과 달리, .tool-versions 파일은 비편집증 모드에서 신뢰 검증의 대상이 되지 않습니다. 공격자는 임의의 Tera exec() 호출을 리포지토리에 커밋된 .tool-versions 파일에 임베드할 수 있습니다. mise가 활성화된 상태에서 디렉토리로 cd하는 모든 개발자는 프롬프트나 경고 없이 공격자의 명령을 자동으로 실행합니다.
왜 중요한가
mise는 AI/ML 개발자 워크플로우에서 Python, Node 및 기타 도구 체인 버전 관리에 널리 사용됩니다. 이는 공급망/드라이브 바이 공격입니다. 악의적인 오픈 소스 리포지토리, 사회 공학 유인 또는 손상된 업스트림 리포지토리는 mise가 활성화된 모든 개발자 머신에서 공격자 코드를 실행할 수 있으므로 디렉토리 변경 이상의 사용자 상호작용 없이 클라우드 자격 증명, API 키, 모델 가중치를 즉시 유출하거나 지속적인 액세스를 확립할 수 있습니다.
공격 경로
공격자는 악의적인 .tool-versions 파일을 git 리포지토리에 배치합니다. 파일에는 등록된 exec() 함수를 호출하는 Tera 템플릿 지시문이 포함되어 있습니다. mise 셸 활성화가 있는 피해자가 디렉토리로 'cd'를 실행하면, mise는 어떤 신뢰 확인도 수행하지 않고(.mise.toml 파일과 달리) .tool-versions를 Tera 엔진을 통해 파싱하고, 임베드된 exec() 호출은 임의의 OS 명령을 즉시 실행합니다.
영향받는 시스템
mise < 2026.3.10
완화 방안
mise 2026.3.10 이상으로 업그레이드하세요. 권고사항: https://github.com/jdx/mise/security/advisories/GHSA-fjj5-v948-whjj