🇰🇷 한글 설명
virtualenv 21.14.9 이전 버전에서 app-data 복사 시 shutil.copy()를 사용하여 캐시된 패키지 파일을 복사할 때 umask 설정이 무시되는 취약점이 존재합니다. 권한이 느슨한 umask 환경에서 생성된 캐시가 이후 환경에 복사되면, 다른 로컬 사용자가 패키지 코드를 수정하고 실행할 수 있는 권한을 가질 수 있습니다.
💡 쉬운 설명
파이썬 가상 환경을 만들 때 이전에 저장해둔 파일을 가져오는데, 이때 파일의 보안 설정이 제대로 유지되지 않는 문제입니다. 이를 통해 다른 사용자가 내가 사용하는 프로그램 코드를 몰래 바꿔치기할 수 있습니다.
🇺🇸 원문 (English)
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the app-data copy seeder uses shutil.copy() to copy cached package files into later environments, causing cached source modes to override the current run's umask. A cache populated under a permissive umask can therefore produce files writable by another local account in a later traversable environment, allowing package code such as pip/__init__.py to be modified and executed by the environment owner. The attacker cannot force the earlier umask, and a private destination parent prevents access. This issue is fixed in version 21.14.9.
📍 영향받는 시스템
virtualenv 21.14.9 미만 버전
⚔️ 공격 벡터
로컬 계정을 통한 캐시된 패키지 파일의 권한 탈취 및 코드 변조
🛡️ 대응 방법
virtualenv를 21.14.9 이상 버전으로 업데이트
🔧 검증 코드
출력된 버전 번호가 21.14.9보다 낮으면 취약한 버전입니다.
pip show virtualenv | grep Version