
CVE-2024-52005 के लिए Proof-of-Concept: Git में ANSI escape sequence injection. कठोर कंटेनर छवियों में गलत 'not_affected' VEX दावों को प्रदर्शित करता है।
इस रिपॉजिटरी में CVE-2024-52005 का प्रूफ-ऑफ-कॉन्सेप्ट (PoC) है, जो Git में एक कमज़ोरी है जो Git संचालन के दौरान साइडबैंड चैनल के माध्यम से ANSI एस्केप सीक्वेंस इंजेक्शन की अनुमति देती है।
CVE-2024-52005 एक उच्च गंभीरता (CVSS 7.5) की कमज़ोरी है जो Git के 2.48.1, 2.47.3, 2.46.5, 2.45.4 और 2.44.3 से पहले के संस्करणों को प्रभावित करती है।
यह PoC यह प्रदर्शित करने के लिए बनाया गया था कि कुछ कठोर कंटेनर छवियाँ अपने VEX (Vulnerability Exploitability eXchange) दस्तावेज़ों में गलत तरीके से "not_affected" की स्थिति का दावा करती हैं, जबकि वे कमज़ोर Git संस्करण वितरित करती हैं।
कमज़ोरी हमलावरों को अनुमति देती है:
इस GitHub रेपो का उपयोग करके सीधे DHI ArgoCD कंटेनर के विरुद्ध परीक्षण करें:
docker run --rm -it dhi.io/argocd:3 sh -c '
git clone https://github.com/andrewd-cg/cve-2024-52005-poc.git /tmp/poc &&
cd /tmp/poc &&
sh docker-test.sh
'
यह कमांड:
यदि आउटपुट में ^[[31m या ^[[32m दिखाई देता है, तो कमज़ोरी की पुष्टि हो जाती है।
रेपो को क्लोन करें और स्थानीय रूप से परीक्षण चलाएं:
git clone https://github.com/andrewd-cg/cve-2024-52005-poc.git
cd cve-2024-52005-poc
./test_ansi_injection.sh
यह स्क्रिप्ट:
# सोशल इंजीनियरिंग पेलोड के साथ दुर्भावनापूर्ण रिपॉजिटरी बनाएं
./exploit_cve_2024_52005.py create social_engineering
# कमज़ोर कंटेनर के विरुद्ध परीक्षण करें
./exploit_cve_2024_52005.py test
# परिणाम देखें
cat -v /tmp/cve-2024-52005-output.log
हमलावर सार्वजनिक GitHub रेपो बनाता है → ArgoCD इसे स्वचालित रूप से क्लोन करता है →
Git हुक ANSI कोड इंजेक्ट करता है → डिप्लॉयमेंट लॉग में बैकडोर छिपाता है
डेवलपर रेपो क्लोन करता है → दुर्भावनापूर्ण हुक चलता है → नकली "Build PASSED" इंजेक्ट करता है →
वास्तविक विफलताएँ छिप जाती हैं → कमज़ोर कोड प्रोडक्शन में तैनात हो जाता है
सुरक्षा स्कैनर रेपो क्लोन करता है → हुक ANSI कोड इंजेक्ट करता है →
"0 vulnerabilities" दिखाता है → वास्तविक कमज़ोरियाँ छिप जाती हैं →
दुर्भावनापूर्ण कोड समीक्षा पास कर लेता है
ढाँचे में 8 पूर्व-निर्मित हमला पेलोड शामिल हैं:
कई कंटेनर छवियाँ CVE-2024-52005 के लिए "not_affected" का दावा करती हैं, जिसमें औचित्य:
{
"justification": "vulnerable_code_cannot_be_controlled_by_adversary"
}
यह गलत है उन कंटेनरों के लिए जो अविश्वसनीय रिपॉजिटरी को क्लोन करने के लिए डिज़ाइन किए गए हैं:
हमलावर Git हुक और साइडबैंड संदेशों के माध्यम से कमज़ोर कोड पथ को नियंत्रित करता है।
CVE-2024-52005 से प्रभावित Git संस्करण:
पैच किए गए संस्करण में अपडेट करें:
# अपना संस्करण जाँचें
git --version
# पैकेज मैनेजर के माध्यम से अपडेट करें
apt update && apt upgrade git # Debian/Ubuntu
brew upgrade git # macOS
यदि तुरंत अपडेट नहीं कर सकते:
# किसी भी कंटेनर छवि का परीक्षण करें
docker run --rm -v $(pwd)/ansi-test-repo:/repo:ro YOUR_IMAGE:TAG \
sh -c 'git clone /repo /tmp/test 2>&1' | cat -v
# आउटपुट में ^[[31m जैसे ANSI कोड देखें
यह PoC इसके लिए बनाया गया था:
केवल अधिकृत सुरक्षा परीक्षण के लिए। इसका उपयोग उन प्रणालियों के विरुद्ध न करें जिनके आप मालिक नहीं हैं या जिनके परीक्षण की अनुमति नहीं है।
MIT लाइसेंस - विवरण के लिए LICENSE फ़ाइल देखें
कंटेनर छवि सुरक्षा अनुसंधान के भाग के रूप में बनाया गया, जो सटीक कमज़ोरी प्रकटीकरण और मूल्यांकन के महत्व को प्रदर्शित करता है।
कोई समस्या मिली या सुधार हैं? पुल रिक्वेस्ट का स्वागत है!