CVE-2026-21858 CVSS: 10 | آسیب پذیری جدید و کابوس جدید در n8n
تو دو هفته گذشته این چهارمین باگ Critical هست که از n8n میاد بیرون، ولی این یکی (CVE-2026-21858) فرق داره و بازی رو عوض کرده. چرا؟ چون Unauthenticated هست. یعنی بدون هیچ یوزر و پسوردی، اتکر کل اینستنس رو میگیره و تبدیل میشه به ادمین سیستم! اسمش رو گذاشتن Ni8mare و واقعا هم کابوسه.
داستان فنیش یه درس عبرت برای Backend Develope هاست:
باگ توی لاجیک parseRequestBody() و نحوه هندل کردن Content-Type توی Webhookها نهفتهست. سیستم بدون اینکه چک کنه هدر ریکوئست واقعا multipart/form-data هست یا نه، به اتکر اجازه میده آبجکت req.body.files رو Override کنه. نتیجه؟ اتکر به جای فایل آپلودی، آدرس فایلهای حساس لوکال (مثل /home/node/.n8n/database.sqlite یا فایل کانفیگ) رو میده به خورد سیستم و n8n هم دو دستی محتواشون رو برمیگردونه.
از اینجا به بعدش سناریوی کلاسیک نفوذه:
۱. دیتابیس SQLite رو میخونن و هش پسورد ادمین و Encryption Key رو استخراج میکنن.
۲. با این دیتا، کوکی ادمین رو Forge میکنن (Session Hijacking).
۳. حالا که ادمین شدن، با یک نود ساده Execute Command دسترسی کامل RCE میگیرن.
عملا n8n که قرار بود عصای دست تیم فنی (البته که مارکتینگ تا فنی) باشه و همهی سرویسها (API Keys, DBs, Cloud Tokens) توش متمرکز باشن، تبدیل میشه به Single Point of Failure. اگر اینستنس شما پابلیک باشه، کل کلیدهای زیرساختتون لو رفته.
اگر زیر نسخه 1.121.0 هستید، همین الان آپدیت کنید! و یه قانون کلی: ابزارهای اینترنال و حیاتی مثل n8n رو هیچوقت Raw روی اینترنت اکسپوز نکنید؛ همیشه پشت VPN یا حداقل یک لایه Authelia/Basic Auth بذارید.