کشف آسیب‌پذیری در n8n

کشف آسیب‌پذیری در n8n

تاریخ ایجاد

 n8nیک پلتفرم متن‌باز برای خودکارسازی گردش‌کارها است. نسخه‌های 0.123.1 تا 1.119.1 این نرم‌افزار محافظت کافی برای جلوگیری از اجرای کد از راه دور از طریق  pre-commit hookها ندارند. عملیات Add Config اجازه می‌دهد که گردش‌کارها مقادیر دلخواهی را در تنظیمات Git قرار دهند؛ از جمله  core.hooksPath، که می‌تواند به یک hook مخرب اشاره کند و طی عملیات بعدی Git باعث اجرای فرمان‌های دلخواه روی میزبان n8n شود. بهره‌برداری از این مشکل نیازمند توانایی ایجاد یا تغییر یک گردش‌کار n8n با استفاده از Git Node است.

 

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

نسخه‌های 0.123.1 تا 1.119.1

توصیه‌های امنیتی

به کاربران توصیه می­شود در صورت استفاده از این نسخه­ ها آن را به نسخه 1.119.2 به ­روزرسانی نمایند. راهکارهای موقت شامل کنار گذاشتن Git Node (طبق مستندات) و خودداری از کلون‌کردن یا تعامل با مخزن‌های غیرقابل‌اعتماد با استفاده از  Git Nodeاست. به دلایل امنیتی، ممکن است بخواهید کاربران خود را از دسترسی یا کار با برخی از نودهای n8n منع کنید. این کار زمانی مفید است که کاربران شما قابل‌اعتماد نباشند. برای جلوگیری از دسترسی کاربران به نودهای مشخص، از متغیر محیطی NODES_EXCLUDE استفاده کنید. غیر محیطی   NODES_EXCLUDE را به آرایه‌ای از رشته‌ها تنظیم کنید که شامل نام نودهایی باشد که می‌خواهید کاربران از استفاده آن‌ها منع شوند.

NODES_EXCLUDE: "[\"n8n-nodes-base.executeCommand\", \"n8n-nodes-base.readWriteFile\"]"

این کار نودهای  Execute Command و  Read/Write Files from Disk را مسدود می‌کند. در نتیجه، کاربران  n8n شما قادر به جست‌وجو یا استفاده از این نودها نخواهند بود.

 

منبع خبر