🇰🇷 한글 설명
virtualenv의 bash activate 스크립트에서 환경 이름에 대한 이스케이프 처리가 불완전하여 발생하는 취약점입니다. 환경 이름에 백슬래시나 $(...)와 같은 명령어가 포함될 경우, 사용자의 쉘 프롬프트가 표시될 때마다 해당 명령어가 실행될 수 있습니다. 이 문제는 21.14.7 버전에서 수정되었습니다.
💡 쉬운 설명
가상 환경의 이름을 특수하게 만들면, 사용자가 명령어를 입력할 때마다 해커가 심어놓은 악성 코드가 자동으로 실행될 수 있는 문제입니다. 이름에 포함된 특정 기호가 시스템 명령어로 오인되어 실행되는 것이 원인입니다.
🇺🇸 원문 (English)
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.7, the bash activate script escapes the environment name for only one of the two passes bash makes over PS1, so a backslash in the name undoes the escaping and a name containing \$(...) runs as commands in the user's shell each time bash draws the prompt. This issue is fixed in version 21.14.7.
📍 영향받는 시스템
virtualenv 21.14.7 미만 버전
⚔️ 공격 벡터
악의적으로 조작된 환경 이름을 가진 가상 환경을 활성화하여 사용자 쉘에서 임의 명령 실행
🛡️ 대응 방법
virtualenv를 21.14.7 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력된 버전 번호가 21.14.7보다 낮은지 확인
pip show virtualenv | grep Version