Langflow – एक ओपन-सोर्स प्लेटफॉर्म जो डेवलपर्स को LLM प्रॉम्प्ट्स, डेटा सोर्सेज और कस्टम Python कोड को एक साथ जोड़ने की सुविधा देता है – में एक गंभीर खामी है जो किसी को भी असुरक्षित सर्वर पर मनमाना (arbitrary) Python चलाने की अनुमति देती है। CVSS स्केल पर 9.8 रेटिंग वाला CVE-2026-33017, 1.9.0 से पहले के सभी वर्ज़न को प्रभावित करता है और इसे बिना ऑथेंटिकेशन के ट्रिगर किया जा सकता है, जिससे ऑपरेटरों को या तो अपग्रेड करना होगा या “public flow” फीचर को बंद करना होगा।
यह बग क्या करता है
Langflow का public-flow एंडपॉइंट डेमो-स्टाइल चैटबॉट्स के लिए बनाया गया था जिन्हें कोई भी बिना लॉग-इन किए आज़मा सकता है। यह एंडपॉइंट रिक्वेस्ट बॉडी में एक data पैरामीटर स्वीकार करता है, यह मान लेता है कि पेलोड में एक सुरक्षित फ्लो डेफिनेशन है, और फिर उस कंटेंट को सीधे Python के बिल्ट-इन exec() फंक्शन को सौंप देता है। exec() उस स्ट्रिंग को कोड के रूप में इवैल्यूएट करता है और उसे Langflow प्रोसेस के समान ही विशेषाधिकारों (privileges) के साथ चलाता है।
एक हमलावर को केवल पब्लिक फ्लो की ID की आवश्यकता होती है – जो अक्सर साझा किए गए URLs में दिखाई देती है – ताकि वह एक ऐसी रिक्वेस्ट तैयार कर सके जो एक दुर्भावनापूर्ण (malicious) फ्लो डेफिनेशन को बदल दे। जब सर्वर उस रिक्वेस्ट को प्रोसेस करता है, तो इंजेक्ट किया गया Python तुरंत चल जाता है, जिससे हमलावर को होस्ट सिस्टम पर पूरा नियंत्रण मिल जाता है।
यह भेद्यता (vulnerability) कैसे निकल गई
पिछले रिलीज़ में, जब data फ़ील्ड मौजूद होता था, तो डेटाबेस से फ्लो लोड करने वाले कोड पाथ को बायपास कर दिया जाता था। पेलोड को सैनिटाइज़ (sanitise) या वैलिडेट करने के बजाय, सर्वर कॉलर पर भरोसा करता था और उसे शब्दशः (verbatim) निष्पादित कर देता था। चूंकि एंडपॉइंट बिना किसी लॉग-इन के सुलभ है, इसलिए सार्वजनिक इंटरनेट ही उन सभी Langflow इंस्टेंस के लिए अटैक सरफेस बन जाता है जिनमें पब्लिक फ्लो सक्षम (enabled) हैं।
किसे जोखिम है
गंभीरता स्कोर (severity score) को देखते हुए, इस भेद्यता को “क्रिटिकल” (critical) माना गया है।
तत्काल शमन (mitigation) के कदम
- Langflow 1.9.0 पर अपग्रेड करें – यही एकमात्र सत्यापित समाधान (fix) है।
- पब्लिक फ्लो फीचर को डिसेबल करें यदि आपको गुमनाम (anonymous) एक्सेस की आवश्यकता नहीं है।
- AUTO_LOGIN बंद करें – यह बिना ऑथेंटिकेशन वाली रिक्वेस्ट के लिए ऑटोमैटिक सेशन क्रिएशन को रोकता है।
- API को फ़ायरवॉल या रिवर्स प्रॉक्सी के पीछे रखें ताकि एक्सेस को भरोसेमंद IP रेंज तक सीमित किया जा सके।
- Web Application Firewall (WAF) तैनात करें जो
dataपैरामीटर वालेbuild_public_tmpएंडपॉइंट पर आने वाली रिक्वेस्ट को ब्लॉक करे।
यह समाधान क्यों महत्वपूर्ण है
यह भेद्यता एक मौलिक डिज़ाइन गलती का फायदा उठाती है: उच्च विशेषाधिकारों (high privileges) के साथ चलने वाले संदर्भ में यूजर द्वारा दिए गए कोड पर भरोसा करना। उस भरोसे को हटाकर और सख्त इनपुट हैंडलिंग लागू करके, Langflow 1.9.0 पब्लिक डेमो यूजर्स और अंतर्निहित (underlying) सर्वर के बीच की बाधा को फिर से स्थापित करता है।
आगे क्या देखें
- कम्युनिटी रिस्पॉन्स – फॉलो-अप पैच या एडवाइजरी के लिए Langflow रिपॉजिटरी पर नज़र रखें।
निष्कर्ष (Bottom line): पब्लिक-फ्लो एंडपॉइंट को एक्सपोज़ करने वाले किसी भी Langflow डिप्लॉयमेंट को आज ही पैच किया जाना चाहिए। जब तक वर्ज़न 1.9.0 नहीं चल रहा है, तब तक इस फीचर को बंद कर दें और सर्विस को नेटवर्क कंट्रोल के पीछे सुरक्षित करें। डेटा ब्रीच की लागत एक त्वरित अपग्रेड के प्रयास से कहीं अधिक होगी।
