
CVE-2026-5027 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Langflow में एक पाथ ट्रैवर्सल भेद्यता है, जो क्राफ्टेड मल्टीपार्ट फ़ाइलनाम के माध्यम से मनमाना फ़ाइल लेखन और संभावित रिमोट कोड निष्पादन की अनुमति देता है।
यह पोस्ट EQSTLab द्वारा प्रकाशित एक शोध लेख है।
Yahia Hamza को धन्यवाद, जिन्होंने इस कमजोरी की रिपोर्ट और विश्लेषण किया।
★ CVE-2026-5027 Langflow पाथ ट्रैवर्सल / आर्बिट्रेरी फ़ाइल राइट PoC ★
CVE-2026-5027 : Langflow आर्बिट्रेरी फ़ाइल राइट कमजोरी
विवरण: Langflow <= 1.8.4 में एक पाथ ट्रैवर्सल कमजोरी है जो हमलावरों को /api/v2/files एंडपॉइंट पर दिए गए क्राफ्टेड मल्टीपार्ट filename के माध्यम से इच्छित अपलोड निर्देशिका के बाहर आर्बिट्रेरी फ़ाइलें लिखने की अनुमति देती है। ऐसे डिप्लॉयमेंट में जहां ऑटो-लॉगिन सक्षम है या प्रमाणीकरण अन्यथा कमजोर रूप से लागू किया गया है, इस समस्या का उपयोग संवेदनशील फाइलसिस्टम स्थानों पर हमलावर-नियंत्रित सामग्री लिखकर रिमोट कोड एक्ज़ीक्यूशन प्राप्त करने के लिए किया जा सकता है।
Docker का उपयोग करके कमजोर वातावरण बनाएं और चलाएं:
docker build -t cve-2026-5027 .
docker run --rm -it -p 9013:7860 --name cve-2026-5027 cve-2026-5027
# गैर-विनाशकारी सत्यापन (प्रूफ फ़ाइल)
python3 CVE-2026-5027.py -t <HOST_IP>
# प्रमाणित मोड के साथ सत्यापन
python3 CVE-2026-5027.py -t <HOST_IP> -u <USERNAME> -p <PASSWORD>
कमजोर एंडपॉइंट
POST /api/v2/files
समस्या इसलिए मौजूद है क्योंकि अपलोड कार्यक्षमता क्लाइंट द्वारा प्रदान किए गए मल्टीपार्ट filename मान पर भरोसा करती है। सुरक्षित सर्वर-साइड स्टोरेज नाम उत्पन्न करने या हल किए गए पथ को समर्पित अपलोड निर्देशिका तक सीमित करने के बजाय, कमजोर कोड पथ ../ जैसे ट्रैवर्सल अनुक्रमों को अंतिम गंतव्य पथ को प्रभावित करने की अनुमति देता है।
परिणामस्वरूप, एक हमलावर इच्छित स्टोरेज रूट से बाहर निकल सकता है और एप्लिकेशन को सर्वर फाइलसिस्टम पर आर्बिट्रेरी स्थानों पर फ़ाइलें लिखने के लिए मजबूर कर सकता है।
एक प्रतिनिधि शोषण प्रवाह इस प्रकार है:
/api/v2/files पर एक मल्टीपार्ट अपलोड अनुरोध सबमिट करें।filename प्रदान करें।यह मूल रूप से एक CWE-22: प्रतिबंधित निर्देशिका के लिए पाथनाम का अनुचित सीमांकन मुद्दा है।
सुरक्षा दोष अपलोड हैंडलिंग के दौरान उपयोगकर्ता-नियंत्रित फ़ाइल पथों के अपर्याप्त सैनिटाइज़ेशन और सत्यापन के कारण होता है। एप्लिकेशन मूल क्लाइंट फ़ाइलनाम को स्वीकार करता है और इसे पर्याप्त रूप से पाथ नॉर्मलाइज़ेशन और कंटेनमेंट लागू किए बिना स्टोरेज वर्कफ़्लो में पास करता है।
रक्षात्मक दृष्टिकोण से, खतरनाक पैटर्न अवधारणात्मक रूप से निम्नलिखित के समान है:
save_path = base_dir / file.filename
यदि file.filename में पाथ ट्रैवर्सल घटक शामिल हैं जैसे:
../../../../tmp/poc.txt
तो अंतिम हल किया गया पथ base_dir के बाहर इंगित कर सकता है, जिससे आर्बिट्रेरी फ़ाइल राइट सक्षम हो जाता है।
आर्बिट्रेरी फ़ाइल राइट कमजोरियां अक्सर मानक असीमित अपलोड मुद्दों से अधिक गंभीर होती हैं क्योंकि हमलावर न केवल फ़ाइल सामग्री को नियंत्रित करता है, बल्कि गंतव्य पथ को भी नियंत्रित करता है। Langflow प्रक्रिया के रनटाइम विशेषाधिकारों के आधार पर, यह सक्षम कर सकता है:
हमलावर --(एक्सेस टोकन प्राप्त करें या ऑटो-लॉगिन का दुरुपयोग करें)--> Langflow /api/v2/files --(../ के साथ क्राफ्टेड मल्टीपार्ट फ़ाइलनाम प्रदान करें)--> अपलोड निर्देशिका के बाहर आर्बिट्रेरी फ़ाइल राइट --(संवेदनशील स्थान पर लिखें)--> संभावित रिमोट कोड एक्ज़ीक्यूशन
यह रिपॉजिटरी Langflow इंस्टेंस के अनधिकृत शोषण को सुविधाजनक बनाने के लिए नहीं है। इस परियोजना का उद्देश्य सुरक्षा शोधकर्ताओं, रक्षकों और डेवलपर्स को कमजोरी को समझने, नियंत्रित वातावरण में एक्सपोज़र को मान्य करने और प्रभावी शमन लागू करने में मदद करना है।