کارشناسان امنیتی Security Joes از شناسایی یک آسیبپذیری سطح بالا در پلتفرم n8n خبر دادند. این نقص که با شناسهٔ GHSA-gv7g-jm28-cr3m شناخته میشود، مهاجم را قادر میسازد تا با دسترسی ویرایشگر (Workflows)، دستورات مخرب را بر روی سرور اجرا کند.
آسیبپذیری فوق دو گروه از نسخههای n8n را تحت تأثیر قرار میدهد. تیم سازندگان نیز بلافاصله پس از دریافت گزارش، نسخههای اصلاحشده را به شرح زیر منتشر کردهاند:
- آسیبپذیر: تمام نسخههای قدیمیتر از ۲.۳۱.۵ و نسخههای ۲.۳۲.۰ تا پیش از ۲.۳۲.۱
- اصلاحشده: نسخههای ۲.۳۱.۵ و ۲.۳۲.۱ (منتشرشده در ۲۲ ژوئیه)

راههای شناسایی و رفع مشکل
کاربران برای نوشتن جریانهای کاری در n8n، از عبارتهایی چون ={{ $json.email }} استفاده میکنند که باید در یک فضای ایزوله و امن اجرا شوند. اما تیم Security Joes متوجه شده است که این محدودیت سیستمی، در نسخههای آسیبپذیر به دو شیوه قابل دور زدن است:
- روش اول: عبارتهای سادهای مثل () => process بهجای اینکه در همان فضای ایزوله پردازش شوند، مستقیماً به خود سیستمعامل ارجاع میدهند.
- روش دوم: مهاجم با کمک تابع Reflect.get() به ماژولهای داخلی Node.js دسترسی پیدا میکند و از آن طریق دستورات سیستمی را اجرا مینماید.

با توجه به حساسیت دسترسیهای n8n، این آسیبپذیری میتواند راهی برای نفوذ مهاجمین به کل زیرساخت باشد. به همین دلیل لازم است تا اقدامات زیر را در اولویت قرار داد:
- بهروزرسانی فوری به نسخهٔ ۲.۳۱.۵ یا ۲.۳۲.۱
- محدود کردن دسترسی ساخت و ویرایش جریانهای کاری به افراد قابل اعتماد
- بررسی جریانهای کاری ساختهشده در روزهای اخیر
- بررسی لاگهای سرور برای مشاهدهٔ دستوراتی چون curl، wget یا powershell
- تغییر رمزهای عبور ذخیرهشده در n8n
پلتفرم n8n نقش پررنگی در خودکارسازی فرایندهای سازمانی دارد. این رخنه امنیتی میتواند بستر لازم برای نفوذ هکرها را فراهم سازد. اجرای فوری بهروزرسانی، محدودیت دسترسی کاربران و پایش مداوم لاگهای سرور، شما را در برابر این نقص خطرناک ایمن میسازد.