CVE-2022-21668

Posted by : on

Category :


취약점 번호 - CVE-2022-21668

영향을 주는 프로그램 - pipenv

취약점이 주는 영향 - 악성 코드가 삽입된 패키지가 설치되어 피해자 컴퓨터에서 실행된다

취약점 요약 - pipenv의 요구 사항 파일 구문 분석의 결함으로 인해 공격자는 requirements.txt 파일 내의 아무 곳에서나 주석 내부에 특수하게 조작된 문자열을 삽입할 수 있습니다. 이는 pipenv를 사용하여 요구 사항 파일(예: “” 포함)을 설치하는 피해자가 공격자가 제어하는 패키지 인덱스 서버에서 종속성을 다운로드하도록 합니다. 공격자는 악성 인덱스 서버에서 제공하는 패키지에 악성 코드를 삽입하여 피해자 시스템에서 임의의 원격 코드 실행(RCE)을 트리거할 수 있습니다

취약점 대처 방안 - –index-url, #은 주석 문자열로 무시

원본 버그 리포트

pip : python을 이용하며 사용하게 되는 패키지 관리 툴

virtualenv : python으로 개발을 하게 되면 거의 항상 복수의 패키지를 설치하게 됨. 하지만 각각의 프로젝트가 요구하는 패키지들의 상세 내용이 다를 수 있으므로 각 프로젝트 내 개발 환경을 구축하게 해주는 것

pipenv(pip+virtualenv) : pipfile, pipfile.kock을 requirements.txt를 대신해서 사용, 해쉬 자동생성, .env 파일들을 사용한 스트림라인 개발 워크플로우

공격 시나리오 - requirement.txt 에서 악성 옵션을 숨길 수 있는 경우 -> 설치 중에 공격대상의 호스트에서 실행될 악성 인덱스 서버에서 제공되는 제공되는 패키지에 임의의 악성코드를 포함 -> 공격자가 requirement.txt에 지정된 패키지에 대한 소스 배포를 간단히 구축하고 setup.py 파일에 임의의 악성 코드를 포함할 수 있음 -> pip가 소스 배포에서 설치되면 setup.py의 모든 코드가 설치 프로세스에 의해 실행됩니다


Useful Links