
n8n में CVE-2025-68613 कमजोरी का तकनीकी अध्ययन, जिसमें प्रभावित संस्करण, प्रयोगशाला अन्वेषण परिदृश्य, आक्रामक और रक्षात्मक विश्लेषण, तथा शमन रणनीतियाँ शामिल हैं।
n8n एक वर्कफ़्लो ऑटोमेशन प्लेटफ़ॉर्म है जिसका उपयोग विज़ुअल फ़्लो और JavaScript एक्सप्रेशन के माध्यम से सिस्टम और सेवाओं को एकीकृत करने के लिए किया जाता है।
CVE-2025-68613 एक गंभीर Remote Code Execution (RCE) कमज़ोरी है, जिसका CVSS 9.9 है, जो n8n के कई संस्करणों को प्रभावित करती है। यह दोष कमज़ोर संस्करणों में वर्कफ़्लो में JavaScript एक्सप्रेशन के प्रसंस्करण में होता है जो ठीक से पृथक नहीं हैं। यह संपादन अनुमतियों वाले प्रमाणित उपयोगकर्ताओं को एप्लिकेशन के अपेक्षित व्यवहार के बाहर कोड निष्पादित करने की अनुमति देता है।
व्यवहार में, इस दोष का उपयोग उस सर्वर पर कमांड चलाने के लिए किया जा सकता है जहाँ n8n चल रहा है, एप्लिकेशन के अपने विशेषाधिकारों का उपयोग करके। प्रभावित संस्करण 0.211.0 से लेकर 1.120.4, 1.121.1 और 1.122.0 में लागू किए गए सुधारों से पहले के संस्करणों तक हैं।
यह रिपॉज़िटरी CVE-2025-68613 को तकनीकी रूप से प्रलेखित करती है, जिसमें दोष का संदर्भ, प्रभावित संस्करण, शोषण और अनुशंसित शमन उपाय शामिल हैं।

| स्थिति | n8n संस्करण | नोट |
|---|---|---|
| ❌ प्रभावित | >= 0.211.0 | कमज़ोर तंत्र की शुरुआत |
| ❌ प्रभावित | < 1.120.4 | ब्रांच 1.120 में पैच तक कमज़ोर |
| ❌ प्रभावित | < 1.121.1 | ब्रांच 1.121 में पैच तक कमज़ोर |
| ❌ प्रभावित | < 1.122.0 | ब्रांच 1.122 में पैच तक कमज़ोर |
| ✅ ठीक किया गया | 1.120.4 | आधिकारिक सुधार लागू |
| ✅ ठीक किया गया | 1.121.1 | आधिकारिक सुधार लागू |
| ✅ ठीक किया गया | >= 1.122.0 | सुधार डिफ़ॉल्ट रूप से शामिल |
तुरंत संस्करण 1.122.0 या उच्चतर में अपडेट करने की सिफारिश की जाती है।
कमज़ोरी प्रदर्शित करने के लिए, निम्नलिखित शर्तें आवश्यक हैं:
यह दोष वर्कफ़्लो के निर्माण और निष्पादन के दौरान होता है, प्रमाणीकरण से पहले नहीं।
पहला कदम एक वैध उपयोगकर्ता के साथ n8n वेब इंटरफ़ेस में लॉग इन करना है।

यह चरण पुष्टि करता है कि हमला अनाम नहीं है। कमज़ोरी के लिए एक प्रमाणित उपयोगकर्ता की आवश्यकता होती है।
लॉग इन करने के बाद, सत्यापित करें कि उपयोगकर्ता के पास वर्कफ़्लो बनाने और संपादित करने की अनुमतियाँ हैं।

यह प्रासंगिक है क्योंकि केवल इस पहुँच स्तर वाले उपयोगकर्ता ही वर्कफ़्लो में गतिशील एक्सप्रेशन सम्मिलित कर सकते हैं।
प्रमाणित उपयोगकर्ता के साथ, खरोंच से एक नया वर्कफ़्लो बनाएँ।

यहाँ n8n कार्यक्षमता का वैध उपयोग शुरू होता है, जिसका कमज़ोर संस्करणों में शोषण किया जा सकता है।
वर्कफ़्लो में जोड़ा गया पहला नोड Manual Trigger है।

यह नोड क्या करता है: वर्कफ़्लो के मैन्युअल निष्पादन की अनुमति देता है, जिसका उपयोग फ़्लो के प्रारंभिक बिंदु के रूप में किया जाता है।
इस परिदृश्य में, यह केवल वर्कफ़्लो निष्पादन के लिए एक प्रवेश बिंदु के रूप में कार्य करता है।
जोड़ा गया दूसरा नोड Edit Fields (Set) है।

यह नोड क्या करता है: यह नोड वर्कफ़्लो के भीतर डेटा फ़ील्ड बनाने, संशोधित करने या अधिलेखित करने की अनुमति देता है। यह स्थिर मानों या निष्पादन के समय मूल्यांकित JavaScript एक्सप्रेशन को स्वीकार करता है।
यह ठीक इसी बिंदु पर है कि कमज़ोरी प्रकट होती है।
Edit Fields (Set) नोड के मान फ़ील्ड के अंदर, {{ }} द्वारा लिपटा एक JavaScript एक्सप्रेशन सम्मिलित करें, जो n8n द्वारा गतिशील एक्सप्रेशन का मूल्यांकन करने के लिए उपयोग किया जाने वाला प्रारूप है।

उदाहरण payload:
{{ (function(){
return this.process.mainModule
.require('child_process')
.execSync('id')
.toString()
})() }}
(function(){ ... })(): एक स्व-आह्वान फ़ंक्शन को परिभाषित करता है, जो सभी तर्क को समाहित करने और सीधे वर्कफ़्लो एक्सप्रेशन को एक मान लौटाने की अनुमति देता है।this.process: आंतरिक Node.js process ऑब्जेक्ट तक पहुँचता है, जो रनटाइम जानकारी और संसाधनों को उजागर करता है।process.mainModule: एप्लिकेशन के मुख्य मॉड्यूल तक पहुँच की अनुमति देता है, जिससे अन्य आंतरिक Node.js मॉड्यूल लोड करना संभव हो जाता है।require('child_process'): मूल Node.js मॉड्यूल जो ऑपरेटिंग सिस्टम पर नई प्रक्रियाएँ बनाने और बाहरी कमांड निष्पादित करने की अनुमति देता है।execSync('id'): उस ऑपरेटिंग सिस्टम पर सीधे एक कमांड निष्पादित करता है जहाँ n8n चल रहा है, एप्लिकेशन की प्रक्रिया विशेषाधिकारों का उपयोग करके।.toString(): निष्पादित कमांड के आउटपुट को टेक्स्ट में परिवर्तित करता है, जिससे परिणाम n8n इंटरफ़ेस में प्रदर्शित किया जा सकता है।प्रदर्शित परिणाम पुष्टि करता है कि कमांड n8n प्रक्रिया विशेषाधिकारों का उपयोग करके ऑपरेटिंग सिस्टम पर निष्पादित किया गया था, जो Remote Code Execution (RCE) की विशेषता है।