
यह शेलशॉक (Shellshock) के निर्माण और पुनरुत्पादन के लिए Dockerfile रखता है।
CVSS 10.0. Bash, एक वातावरण चर में संग्रहीत फ़ंक्शन परिभाषा के बाद के आदेशों का अनुचित रूप से पार्स करता है, और उन्हें शेल आरंभीकरण के दौरान निष्पादित करता है।
Bash वातावरण चर फ़ंक्शन परिभाषाओं को एनकोड कर सकते हैं: x='() { :; }' जब bash इसे एक पर्यावरण चर के रूप में आयात करता है और आरंभ करता है, तो यह फ़ंक्शन बॉडी को पार्स करता है लेकिन बंद करने वाले ब्रेस के बाद पार्स करना बंद करने में विफल रहता है, और उसके बाद आने वाले किसी भी टेक्स्ट को एक कमांड के रूप में निष्पादित करता है।
docker build -t shellshock-poc .
docker run --rm -it shellshock-poc env x='() { :;}; echo VULNERABLE' bash -c "echo test"
VULNERABLE test
[पैच किया गया Dockerfile / आउटपुट यहाँ]
CGI स्क्रिप्ट्स जो हमलावर-नियंत्रित हेडर (जैसे User-Agent) के साथ bash को कॉल करती हैं, उन हेडर को पर्यावरण चर के रूप में सेट कर देती हैं — हमलावर-नियंत्रित पर्यावरण चर का bash init तक पहुँचना वास्तविक हमले की सतह है, न कि केवल इंटरैक्टिव शेल का उपयोग।
अपस्ट्रीम पैच यह सुनिश्चित करता है कि पार्सिंग फ़ंक्शन परिभाषा के समापन ब्रेस पर रुक जाए। CVE-2014-7169 एक अनुवर्ती अपूर्ण-सुधार बाईपास को कवर करता है।