
कॉम्पोज़र के पेरफोर्स ड्राइवर में कमांड इंजेक्शन कमजोरियों को प्रदर्शित करने वाला प्रूफ-ऑफ-कॉन्सेप्ट, जिसमें दो हमले वेक्टर और डॉकर-आधारित परीक्षण शामिल हैं।
[!CAUTION] इस रिपॉजिटरी में कॉम्पोज़र में CVE-2026-40261 और CVE-2026-40176 कमजोरियों के लिए प्रूफ-ऑफ-कॉन्सेप्ट कोड शामिल है।
[!CAUTION] यह कोड केवल शैक्षिक और परीक्षण उद्देश्यों के लिए है।
[!CAUTION] इस कोड का उपयोग प्रोडक्शन वातावरण में या उचित प्राधिकरण के बिना सिस्टम के विरुद्ध न करें।
[!CAUTION] किसी भी सुरक्षा कमजोरी का परीक्षण करने से पहले हमेशा सुनिश्चित करें कि आपके पास अनुमति है।
यह रिपॉजिटरी कॉम्पोज़र में Perforce VCS ड्राइवर के माध्यम से कमांड इंजेक्शन से संबंधित दो कमजोरियों को प्रदर्शित करती है।
हमले के तीन वेक्टर हैं:
composer.json.vector1 और composer.json.vector2 फ़ाइलों में दोनों वेक्टरों में से प्रत्येक के लिए पेलोड शामिल हैं। प्रत्येक पेलोड को एक कमांड निष्पादित करने के लिए डिज़ाइन किया गया है जो /tmp निर्देशिका में एक फ़ाइल बनाता है, जो सफल कमांड इंजेक्शन प्रदर्शित करता है।
कमजोरियों का परीक्षण करने के लिए, आप निम्नलिखित चरणों का उपयोग कर सकते हैं। सुनिश्चित करें कि कॉम्पोज़र कंटेनर चलाने के लिए आपके सिस्टम पर Docker स्थापित है।
composer.json फ़ाइल का उपयोग करके।उदाहरण के लिए, वेक्टर 1 का परीक्षण करने के लिए, composer.json.vector1 को composer.json में कॉपी करें:
cp composer.json.vector1 composer.json

उदाहरण के लिए, कॉम्पोज़र संस्करण 2.9.3 का उपयोग करके (जो CVE-2026-40261 और CVE-2026-40176 दोनों के लिए कमजोर है):
docker container run --rm --platform linux/amd64 -v ./:/app -it composer:2.9.3 bash

ls -l /tmp/
उम्मीद है कि कमांड इंजेक्शन द्वारा बनाई गई फ़ाइल (जैसे, pwned_via_url, या pwned_via_user) मौजूद नहीं होगी।

composer install --prefer-dist

ls -l /tmp/
उम्मीद है कि कमांड इंजेक्शन द्वारा बनाई गई फ़ाइल (जैसे, pwned_via_url या pwned_via_user) अब मौजूद होगी, जो दर्शाती है कि कमांड इंजेक्शन सफल रहा।
