چکیده

یک آسیب‌پذیری بحرانی اجرای کد از راه دور (RCE) در پلتفرم متن‌باز n8n شناسایی شده است که به علت تزریق عبارات مخرب و ایزوله‌سازی ناکافی رخ می‌دهد. این ضعف به کاربران احراز هویت‌شده امکان می‌دهد در شرایط خاص کد دلخواه را با دسترسی فرآیند n8n اجرا کنند و می‌تواند به کنترل کامل سامانه و دسترسی غیرمجاز به داده‌ها منجر شود.

توضیحات

آسیب‌پذیری CVE-2025-68613 ناشی از کنترل نادرست منابع کد مدیریت‌شده به‌صورت پویا مطابق با CWE-913 در سامانه ارزیابی عبارات (Expression Evaluation) پلتفرم متن باز n8n است. این ضعف امنیتی می‌تواند از طریق تزریق عبارات مخرب منجر به اجرای کد از راه دور (RCE) شود.

پلتفرم n8n به کاربران اجازه می‌دهد در فرآیند طراحی گردش‌کارها (Workflows)، از عبارات پویا برای پردازش داده‌ها استفاده کنند. این عبارات قرار است در یک محیط محدود و ایزوله (Sandboxed Context) اجرا شوند؛ اما در نسخه‌های آسیب‌پذیر، این ایزوله‌سازی به‌درستی اعمال نشده و عبارات از نظر اجرایی به‌طور کامل از محیط زمان اجرای اصلی (Underlying Runtime) جدا نشده‌اند. در نتیجه، Expressions می‌توانند به محیط اجرایی Node.js Runtime دسترسی پیدا کنند.

در این شرایط، یک مهاجم احراز هویت‌شده با سطح دسترسی پایین می‌تواند با تزریق عبارات مخرب از محیط ایزوله خارج شده و به APIهای سیستمی Node.js مانند child_process یا fs دسترسی یابد. این عملکرد ناامن به مهاجم اجازه می‌دهد کد دلخواه خود را با مجوزهای فرآیند n8n اجرا کند؛ امری که امکان اجرای دستورات سیستم‌عامل، خواندن و نوشتن فایل‌ها، استخراج متغیرهای محیطی (Environment Variables) و دسترسی به اطلاعات ذخیره‌شده مانند کلیدهای API و رمزهای عبور را فراهم می‌کند.

بهره‌برداری از این ضعف قابل خودکارسازی است؛ مهاجم می‌تواند با داشتن اطلاعات ورود یک کاربر معمولی، گردش‌کاری مخرب ایجاد کند که حاوی یک Expression آلوده باشد. این Expression در زمان اجرای گردش‌کار یا حتی در مرحله تست (Test Step) اجرا شده و کد دلخواه مهاجم را با سطح دسترسی فرآیند n8n اجرا می‌کند. در بسیاری از استقرارها، این فرآیند با دسترسی گسترده به سیستم‌عامل و شبکه اجرا می‌شود که سطح ریسک حمله را به‌شدت افزایش می‌دهد.

پیامدهای این آسیب‌پذیری بسیار گسترده است. از منظر محرمانگی (Confidentiality)، مهاجم می‌تواند به داده‌های حساس، فایل‌های پیکربندی، کلیدهای API و اطلاعات احراز هویت دسترسی یابد. از نظر یکپارچگی (Integrity)، امکان تغییر یا تخریب گردش‌کارها، تزریق منطق مخرب و ایجاد بکدورها وجود دارد. از نظر در دسترس‌پذیری (Availability)، مهاجم می‌تواند با اجرای دستورات مخرب، موجب اختلال یا توقف کامل سرویس شود.

کد اثبات مفهومی (PoC) عمومی برای این آسیب‌پذیری منتشر شده است که شامل اسکنر شناسایی نسخه آسیب‌پذیر و اکسپلویت کامل برای اجرای دستورات دلخواه، خواندن و نوشتن فایل‌ها و حتی ایجاد شل معکوس (Reverse Shell) است. این PoC نشان می‌دهد که بهره‌برداری در محیط‌های واقعی کاملاً عملی و قابل تکرار است.

لازم به ذکر است که این آسیب‌پذیری تنها در صورتی فعال می‌شود که کاربر بتواند گردش‌کار ایجاد یا ویرایش کند، اما به دلیل ماهیت n8n که اغلب به کاربران متعدد اجازه ساخت گردش‌کار می‌دهد، سطح ریسک کلی بسیار بالا ارزیابی می‌شود. این ضعف امنیتی در نسخه‌های 1.120.4، 1.121.1، 1.122.0 و بعد از آن به طور کامل پچ شده است.

CVSS

Score Severity Version Vector String
10.0 CRITICAL 3.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

لیست محصولات آسیب پذیر

Versions Product
affected at >= 0.211.0, < 1.120.4

affected at = 1.121.0

n8n

لیست محصولات بروز شده

Versions Product
1.120.4, 1.121.1, 1.122.0 n8n

استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که n8n را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
59,000 site:.ir “n8n” n8n

نتیجه گیری

این آسیب‌پذیری بحرانی در پلتفرم n8n با سوءاستفاده از تزریق عبارات مخرب (Expression Injection) امکان اجرای کد از راه دور را حتی برای کاربران احراز هویت‌شده با سطح دسترسی پایین فراهم می‌کند. بهره‌برداری موفق از این ضعف می‌تواند منجر به کنترل کامل سرور، افشای اطلاعات حساس، تغییر یا تخریب گردش‌کارها و ایجاد اختلال گسترده در فرآیندهای کسب‌وکار شود. با توجه به انتشار PoC عمومی و ارائه پچ رسمی از سوی توسعه‌دهنده، اجرای اقدامات زیر برای کاهش ریسک و جلوگیری از سوءاستفاده ضروری است:

  • به‌روزرسانی فوری: تمام نمونه‌های n8n را در اسرع وقت به نسخه‌های امن 120.4، 1.121.1، 1.122.0 یا بالاتر به‌روزرسانی کنید. این اقدام مؤثرترین و قطعی‌ترین راهکار برای رفع آسیب‌پذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و می‌توانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
  • محدودسازی دسترسی‌ها: مجوز ایجاد و ویرایش گردش کار (Workflow Creation/Editing Permissions) را تنها به کاربران کاملاً مورد اعتماد اختصاص دهید و اصل حداقل دسترسی را به‌طور کامل اعمال کنید.
  • ایزوله‌سازی محیط اجرا: n8n را در محیط‌های ایزوله مانند Docker یا Kubernetes اجرا کرده و سطح دسترسی آن به سیستم‌عامل، فایل‌سیستم و منابع شبکه را به حداقل ممکن کاهش دهید.
  • کنترل دسترسی شبکه: دسترسی به n8n را به شبکه‌های داخلی محدود کرده و از فایروال اپلیکیشن وب (WAF) برای کاهش سطح حمله استفاده کنید.
  • نظارت و ثبت لاگ پیشرفته: لاگ‌های امنیتی، تغییرات گردش‌کارها و اجرای Expressions را به‌صورت مستمر نظارت کرده و هرگونه الگوی غیرعادی یا Expression مشکوک را به‌سرعت بررسی کنید.
  • تست امنیتی منظم: گردش‌کارها را به‌صورت دوره‌ای بازبینی کرده و از ابزارهایی مانند Nuclei یا اسکنرهای اختصاصی برای شناسایی نسخه‌های آسیب‌پذیر استفاده کنید. همچنین انجام تست نفوذ روی محیط‌های staging یا آزمایشی توصیه می‌شود.
  • مدیریت اعتبارها: در صورت احتمال بهره‌برداری، تمامی کلیدهای API، توکن‌ها و رمزهای عبوری که n8n به آن‌ها دسترسی دارد باید فوراً تغییر داده شوند.
  • آموزش تیم: توسعه‌دهندگان و کاربران n8n را درباره ریسک‌های تزریق عبارت و اهمیت محدودسازی دسترسی‌ها آموزش دهید.

اجرای این اقدامات، به‌ویژه به‌روزرسانی سریع نسخه‌ها، ریسک بهره‌برداری را به‌طور قابل‌توجهی کاهش داده و امنیت زیرساخت‌های مبتنی بر n8n را تقویت می‌کند.

امکان استفاده در تاکتیک های Mitre Attack (در زمان اجرای حمله)

Initial Access (TA0001)
در چارچوب بهره‌برداری از CVE-2025-68613، دسترسی اولیه از مسیر مجاز اما پرریسک فراهم می‌شود؛ بدین معنا که مهاجم از پیش دارای یک حساب کاربری معتبر در سامانه n8n است و امکان ایجاد یا ویرایش گردش‌کار برای او فعال شده است. شرط تحقق این مرحله آن است که سامانه در نسخه آسیب‌پذیر اجرا شود، قابلیت Expressions در طراحی گردش‌کار فعال باشد و محدودیت سخت‌گیرانه‌ای روی نوع عبارات قابل تعریف اعمال نشود. در چنین شرایطی، مهاجم بدون نیاز به عبور از سدهای احراز هویت یا سوءاستفاده از نقص شبکه‌ای، صرفاً با تکیه بر دسترسی منطقی خود وارد زنجیره حمله می‌شود.

Execution (TA0002)
در گام اجرای حمله، تزریق Expression مخرب منجر به اجرای مستقیم کد در زمان ارزیابی عبارات می‌شود. این تاکتیک زمانی عملی است که مکانیزم ایزوله‌سازی محیط Expression به‌درستی پیاده‌سازی نشده باشد و عبارات تعریف‌شده بتوانند از محدوده منطقی خود خارج شوند. در این وضعیت، کدی که قرار بوده صرفاً برای پردازش داده استفاده شود، در بستر زمان اجرای اصلی Node.js تفسیر شده و به دستورات سیستمی یا APIهای حساس دسترسی پیدا می‌کند. شرط کلیدی این مرحله، اجرای گردش‌کار یا حتی تست آن در محیطی است که فرآیند n8n با مجوزهای نسبتاً گسترده در حال اجرا باشد.

Privilege Escalation (TA0004)
پس از اجرای موفق کد، مهاجم عملاً به سطح دسترسی فرآیند n8n دست پیدا می‌کند که معمولاً بسیار فراتر از نقش کاربری اولیه اوست. این ارتقای دسترسی نه از طریق تغییر نقش در سیستم، بلکه از طریق شکستن مرز بین منطق کاربر و منطق اجرایی برنامه رخ می‌دهد. تحقق این تاکتیک وابسته به آن است که فرآیند n8n با دسترسی بالا به سیستم‌عامل یا منابع داخلی اجرا شده و کنترل‌های حداقلی برای محدودسازی APIهای سیستمی اعمال نشده باشند؛ در این حالت، یک کاربر کم‌سطح می‌تواند به توان عملیاتی یک سرویس سیستمی دست یابد.

Discovery (TA0007)
با تثبیت اجرای کد، مهاجم قادر خواهد بود محیط میزبان را شناسایی کرده و اطلاعاتی درباره ساختار فایل‌ها، متغیرهای محیطی و تنظیمات اجرایی به دست آورد. این مرحله زمانی مؤثر است که دسترسی به منابع داخلی مانند فایل‌سیستم یا تنظیمات runtime مسدود نشده باشد و لاگ‌برداری یا پایش رفتاری دقیقی وجود نداشته باشد. نتیجه این کشف تدریجی، افزایش درک مهاجم از محیط و آماده‌سازی زمینه برای اقدامات هدفمندتر بعدی است.

Persistence (TA0003)
در ادامه زنجیره حمله، امکان ایجاد ماندگاری از طریق تغییر منطق گردش‌کارها یا افزودن عبارات مخرب پنهان وجود دارد. این تاکتیک زمانی قابل استفاده است که مهاجم بتواند تغییرات خود را در قالب تنظیمات یا گردش‌کارهای موجود ذخیره کند و فرآیند n8n به‌طور مداوم آن‌ها را اجرا نماید. نبود بازبینی منظم گردش‌کارها و اعتماد بیش از حد به منطق داخلی تعریف‌شده توسط کاربران، شرط اصلی پایداری این وضعیت مخرب خواهد بود.

Impact (TA0040)
پیامد نهایی بسیار شدید و چندبعدی است و می‌تواند به کنترل عملی سامانه منجر شود. اجرای کد از راه دور با سطح دسترسی فرآیند n8n باعث نقض هم‌زمان محرمانگی، یکپارچگی و در دسترس‌پذیری می‌شود؛ به‌گونه‌ای که مهاجم قادر است داده‌های حساس را استخراج کند، منطق گردش‌کارها را تغییر دهد یا حتی با اجرای دستورات مخرب، سرویس را از کار بیندازد. این اثرگذاری، به‌ویژه در محیط‌هایی که n8n نقش مرکزی در اتوماسیون فرآیندها دارد، می‌تواند پیامدهای زنجیره‌ای و خسارات عملیاتی قابل‌توجهی به همراه داشته باشد.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-68613
  2. https://www.cvedetails.com/cve/CVE-2025-68613/
  3. https://github.com/n8n-io/n8n/security/advisories/GHSA-v98v-ff95-f3cp
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-68613
  5. https://vuldb.com/?id.337672
  6. https://github.com/TheStingR/CVE-2025-68613-POC
  7. https://github.com/n8n-io/n8n/commit/08f332015153decdda3c37ad4fcb9f7ba13a7c79
  8. https://github.com/n8n-io/n8n/commit/1c933358acef527ff61466e53268b41a04be1000
  9. https://github.com/n8n-io/n8n/commit/39a2d1d60edde89674ca96dcbb3eb076ffff6316
  10. https://nvd.nist.gov/vuln/detail/CVE-2025-68613
  11. https://cwe.mitre.org/data/definitions/913.html

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *