توییتر سیاوش حسین زاده

سیاوش حسین‌زاده

@syavash_hzd
مهندس نرم‌افزار | علاقمند به لینوکس و دنیای متن‌باز 🐧
اینجا یادداشت‌های کوتاه و روزمره خودم رو می‌نویسم.
ایران، مشهد
از اردیبهشت ۱۴۰۳
38 پست ارسال شده
8.5K بازدیدکننده ماهانه
Avatar
سیاوش حسین زاده
@syavash_hzd ·
امنیت توی n8n دیگه یه شوخی خطرناک شده

امنیت توی n8n دیگه یه شوخی خطرناک شده

وقتی ابزاری مثل n8n رو وسط سازمان میارید که به همه‌جا، از APIهای LLM گرفته تا سیستم‌های IAM و دیتای فروش دسترسی داره، عملا دارید یک Skeleton Key به نفوذگر می‌دید. با افشای CVE-2026-1470 با امتیاز ۹.۹، مشخص شد که دور زدن Sandbox و رسیدن به RCE از اون چیزی که فکر می‌کردیم راحت‌تره.

مشکل اینجاست که خیلیا فکر می‌کنن چون n8n محیط Low-code داره، پس هر کسی با دو تا درگ‌-اند-دراپ می‌تونه معمار اتوماسیون سازمان باشه! (یا مثلا متخصص اتوماسیون با هوش مصنوعی 😂) فاجعه دقیقا از همین‌جا شروع می‌شه. سپردن زیرساخت اتوماسیون به آدم‌هایی که درک عمیقی از معماری نرم‌افزار و چالش‌های امنیتی ندارن، یعنی فاجعه...

توی این گزارش جدید، محقق‌های JFrog نشون دادن که حتی با وجود لایه‌های کنترلی مبتنی بر AST و لیست‌های سیاه، باز هم می‌شه از قابلیت‌های Deprecated شده یا رفتارهای خاص Interpreterها استفاده کرد و از زندان Sandbox فرار کرد. این یعنی امنیت در سطح کد، تضمین‌کننده نیست.

بزرگترین اشتباه استراتژیک، استفاده از Internal Mode در محیط Production است. n8n صراحتا هشدار داده که برای ایزوله‌سازی باید از External Mode استفاده بشه، اما آمار Shadowserver نشون می‌ده که هنوز بیش از ۳۹,۰۰۰ Instance آسیب‌پذیر توی اینترنت رها شدن. این یعنی فقر دانش زیرساختی در تیم‌هایی که ادعای اتوماسیون دارن.

باید قبول کنیم که مدیریت امنیت در زبان‌های داینامیک مثل Python و JS برای محیط‌های Multi-tenant کابوسه. اگر تیم شما تخصص مدیریت Task Runnerها و ایزوله‌سازی فرآیندها در سطح سیستم‌عامل رو نداره، همین الان دسترسی‌های n8n رو محدود کنید.

اتوماسیون بدون امنیت، فقط سرعت بخشیدن به نابودی سازمانتونه. اگه معمار زیرساخت سر پروژه نیست، n8n رو برای کارهای حساس لانچ نکنید.

5
Avatar
سیاوش حسین زاده
@syavash_hzd ·
سئو توی ایران دیگه کلمات کلیدی و بک‌لینک نیست! الان بازی زیرساخت و شبکه اضافه شده

سئو توی ایران دیگه کلمات کلیدی و بک‌لینک نیست! الان بازی زیرساخت و شبکه اضافه شده

وقتی گوگل‌بات به خاطر اختلالات شبکه یا اختلال در اینترکانکت نمی‌تونه دیتاسنترهای داخلی رو درست Crawl کنه، عملا فرقی با Down بودن سایت نداره. راه‌حل این روزها برای فرار از افت رتبه، استفاده از یک کپی Mirror روی هاست خارج (مثلا اروپا) و بازی با NSهاست.

با ست کردن نیم‌سرورهای ایران و خارج در کنار هم، یه جور Failover دستی ایجاد می‌کنید. اینطوری وقتی دسترسی گوگل از بیرون به ایران مختل می‌شه، گوگل بات می‌ره سراغ هاست اروپا و ایندکس متوقف نمی‌شه. برای کاربر داخل هم همچنان Latency پایین هاست ایران رو داریم.

فقط یادتون باشه این یه Dirty Hack برای بقاست، نه یه استراتژی تمیز! اگه سایت فروشگاهی دارید، حتما روی نسخه خارج، درگاه پرداخت و ثبت‌نام رو ببندید تا دیتابیس‌هاتون ناهمگام (Out of sync) نشه. سئو مهمه، ولی Integrity دیتا از اون هم مهم‌تره.

1
Avatar
سیاوش حسین زاده
@syavash_hzd ·

توصیه های عمومی برای میزبانی سایت در داخل کشور و استفاده از اینترنت ملی

در این مدت که اینترنت ملی هستش، اگر از سرویس های میزبانی وب داخل کشور استفاده کنید، سایتتون در دسترس قرارداره و کاربرانتون بدون مشکل و با سرعت و کیفیت مناسب میتونن از خدماتتون استفاده کنن. درگاه های پرداخت هم مجددا فعال شدند و بصورت کلی برای سایت های داخلی مشکلی وجود نداره.

اگر در این بازه زمانی، کسب و کارتون باید آنلاین باشه حتما چکلیست زیر رو رعایت کنید.

چکلیست مهم برای دسترسی به سایت از اینترنت ملی:

1- تهیه هاست با لوکیشن داخل کشور و عدم استفاده از CDN های خارج از کشور با ابر یا پراکسی روشن.

2- عدم استفاده از پلاگین ها و ماژول هایی که نیاز به دسترسی اینترنت بین الملل دارند مثلا API های هوش مصنوعی.

3- انتقال تمامی asset های موردنیاز به ساختار میزبانی داخلی و عدم وابستگی به سرویس هایی مثل CDNjs , Google fonts API و...

4- غیرفعالسازی Google Captcha و مواردی که نیاز به دسترسی اینترنت بین الملل از سمت کاربران شما دارد.

Avatar
سیاوش حسین زاده
@syavash_hzd ·
CVE-2026-21858 CVSS: 10 | آسیب پذیری جدید و کابوس جدید در n8n

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 بذارید.

Avatar
سیاوش حسین زاده
@syavash_hzd ·
آسیب پذیری جدید Coolify با شناسه CVE-2025-64420

آسیب پذیری جدید Coolify با شناسه CVE-2025-64420

قطعا نباید امنیت رو فدای User Experience کنیم! آسیب پذیری جدید Coolify با شناسه CVE-2025-64420 یه کلاس درس کامله از اینکه چطور نباید Credential مدیریت کرد. اسکور CVSS 9.9 گرفته، ولی نه بخاطر یه اکسپلویت پیچیده!

ماجرا اینه که یه یوزر Low-privilege خیلی شیک می‌تونه Private Key روت رو از توی پنل برداره و دانلود کنه!! یعنی عملا دسترسی Root به سرور میزبان، بدون هیچ دردسری دریافت بشه. اینجا با یه RCE عجیب طرف نیستیم؛ رسما کلید گاوصندوق اصلی رو گذاشتن زیر گلدون دمه در! این مدل Information Disclosure که مستقیم ختم میشه به Privilege Escalation، بدترین نوع سهل‌انگاری توی معماری سیستم‌های مدیریت سروره.

اگه از Coolify مخصوصا نسخه‌های بتا تا ۴۳۴ استفاده می‌کنید، فقط آپدیت کردن کافی نیست. فرض رو بر این بذارید که کلیدها همین الان دانلود شدن و سریعا SSH Key Rotation انجام بدید.

Avatar
سیاوش حسین زاده
@syavash_hzd ·
آسیب‌پذیری جدید n8n با اسکور 9.9 | CVE-2025-68668

آسیب‌پذیری جدید n8n با اسکور 9.9 | CVE-2025-68668

آسیب‌پذیری جدید (CVE-2025-68668) دقیقا جایی نشسته که خیلی‌ها بهش اعتماد کرده بودن: Python Code Node. مشکل تکنیکال Sandbox Bypass هست. یعنی مکانیزم Pyodide که قرار بود نذاره کد پایتون از محیط ایزوله خارج بشه، Fail شده.

حالا چرا این یه فاجعه‌ست؟ خیلی‌ها فکر می‌کنن چون اتکر نیاز به Authentication داره، پس امنه. که اشتباهه! فرض کنید Credential یکی از اعضای تیم لو بره، یا کلا یک Insider Threat داشته باشید. هر کسی که دسترسی ساخت یا ویرایش Workflow داشته باشه، می‌تونه روی سرور اصلی (N8N Host) هر دستور سیستمی که بخواد رو اجرا کنه (Arbitrary System Commands).

عملا با یک اسکریپت ساده پایتون، اتکر از لایه اپلیکیشن رد می‌شه و مستقیم میاد روی OS سرور شما! یعنی دسترسی به فایل‌های سیستمی، Environment Variableها و کل شبکه داخلی شما.

راه حل CVE-2025-68668 چیه؟

۱. بهترین کار: آپدیت فوری به نسخه 2.0.0. توی این نسخه معماری تغییر کرده و Native Python Task Runner دیفالت شده که ایزوله‌تره. ۲. Workaround موقت: اگر الان نمی‌تونید آپدیت کنید، سریعا متغییر N8N_PYTHON_ENABLED=false رو ست کنید تا پایتون کلا غیرفعال بشه. یا نود کد رو با NODES_EXCLUDE=["n8n-nodes-base.code"] ببندید.

توی دنیای Automation، ابزاری که دسترسی به همه‌جا داره، اگه آسیب پذیر باشه، کل شبکه باهاش آلوده می‌شه .

Avatar
سیاوش حسین زاده
@syavash_hzd ·
بات‌نت RondoDox داره زیرساخت‌های Next.js رو رنده می‌کنه

بات‌نت RondoDox داره زیرساخت‌های Next.js رو رنده می‌کنه

بات‌نت RondoDox با سوار شدن روی آسیب‌پذیری React2Shell (همون CVE-2025-55182 با امتیاز ۱۰/۱۰) داره زیرساخت‌های Next.js رو درو می‌کنه. طبق آمار Shadowserver هنوز بالای ۹۰ هزار Instance پچ‌نشده توی اینترنت ول هستن که منتظرن تبدیل به زامبی بشن.

بخش مهندسی‌شده و کثیف ماجرا اینجاست: لودر این بات‌نت (nuts/bolts) بعد از نفوذ، اول بقیه بدافزارها و ماینرهای رقیب رو Kill می‌کنه، کرون‌جاب‌ها رو پاک می‌کنه و هر ۴۵ ثانیه کل پروسس‌های سیستم رو چک می‌کنه تا هیچ رقیبی وارد قلمرو اش نشه. یک انحصارطلبی کامل روی منابع سرور شما برای ماین کردن کریپتو و حملات DDoS.

امنیت توی لایه Server Components شوخی‌بردار نیست. اگه پروژه‌ی آپ با Next.js دارید و هنوز پچ نکردید، عملا دارید هزینه برق و CPU سرورتون رو تقدیم RondoDox می‌کنید.

سریع‌تر آپدیت کنید و لاگ‌های /proc رو برای پردازش های مشکوک چک کنید.

1
Avatar
سیاوش حسین زاده
@syavash_hzd ·
لینوکس برخلاف ویندوز، یک محصول واحد نیست؛ یک اکوسیستم از انتخاب‌هاست

لینوکس برخلاف ویندوز، یک محصول واحد نیست؛ یک اکوسیستم از انتخاب‌هاست

وقتی از لینوکس حرف می‌زنیم، در واقع داریم درباره یک Kernel صحبت می‌کنیم که وظیفه‌اش مدیریت منابع سخت‌افزاریه. اما شما نمی‌تونید فقط با یک کرنل کد بزنید یا مثلا کارهای روزمره انجام بدید. اینجاست که مفهوم Linux Distribution یا همون Distro وارد می‌شه.

یک توزیع لینوکس، ترکیب هوشمندانه‌ای از Kernel، سیستم مدیریت پکیج (Package Manager)، کتابخانه‌های سیستم و یک Desktop Environment است. تفاوت اصلی توزیع‌ها نه در ظاهر، بلکه در Package Management و Release Cycle اون‌هاست.

مثلا توی Ubuntu یا Debian، اولویت با پایداری (Stability) است؛ یعنی شاید ورژن ابزارهایی که نصب می‌کنید کمی قدیمی باشه، اما خیالتون راحته که سیستم وسط کار Crash نمی‌کنه. در مقابل، توزیعی مثل Arch Linux از مدل Rolling Release استفاده می‌کنه؛ یعنی هر آپدیتی که ریلیز بشه، همون لحظه در اختیار شماست. این برای Devهایی که می‌خوان همیشه روی Bleeding Edge باشن عالیه، ولی هزینه نگهداری (Maintenance) بالاتری داره.

 توزیع لینوکس فقط یک پوسته‌ است برای اینکه بتونید از قدرت هسته لینوکس استفاده کنید. انتخاب درست، یعنی پیدا کردن تعادل بین نیاز به ابزارهای جدید و زمانی که می‌خواید صرف کانفیگ سیستم کنید.

Avatar
سیاوش حسین زاده
@syavash_hzd ·
پول واقعی توی استریم بین المللی کجاست؟ توییچ یا کیک؟

پول واقعی توی استریم بین المللی کجاست؟ توییچ یا کیک؟

وقتی توییچ نصف درآمد اشتراک (Sub) رو برای خودش برمی‌داره، یعنی داری نیمی از وقتت رو رایگان برای اونا کار می‌کنی. Kick با سهم ۹۵ درصدی برای استریمر، عملا این تله رو شکسته. یعنی تقریبا هر پولی که مخاطب پرداخت می‌کنه، مستقیم می‌ره توی جیبت.

اما چیزی که بازی رو عوض کرده، سیستم حقوق ساعتی یا همون Creator Incentive Program هست. اینکه به جای چشم‌انتظار موندن برای حمایت‌های اتفاقی از طرفدارات، بابت هر ساعت استریم و تعامل با چت پول نقد بگیری (مثلا ساعتی ۱۶ دلار)، استریم رو از یک سرگرمی به یک شغل با درآمد ثابت تبدیل می‌کنه. برای رسیدن به این مرحله هم فقط کافیه یک جامعه کوچک ولی واقعی بسازی.

فرمول موفقیت در حال حاضر ساده‌ست: کیک رو بذار برای نقد کردن زحمتت و گرفتن حقوق، یوتیوب و تیک‌تاک (یا هر پلتفرم پر ترافیک دیگه) هم بذار برای جذب آدم‌های جدید. ویدیوهای کوتاه از لحظات جذاب استریمت بساز تا بقیه بشناسنت، ولی تهش همه رو بفرست جایی که برای زمانت ارزش مالی قائل هستن.

در دنیای محتوا، انتشار توی پلتفرمی که سهم کمتری بهت می‌ده، فقط یک ضرر خالص به بیزنست هست.

6
Avatar
سیاوش حسین زاده
@syavash_hzd ·
امنیت یعنی بدبینی سیستماتیک، مخصوصا تو وردپرس!

امنیت یعنی بدبینی سیستماتیک، مخصوصا تو وردپرس!

آسیب‌پذیری جدید (CVE-2025-14000) در پلاگین Restrict Content نشون می‌ده که هنوز چقدر راحت می‌شه با Shortcodeها بازی کرد. مشکل دقیقا از عدم Sanitization و Output Escaping توی اتریبیوت‌های register_form و restrict میاد.

وقتی یک کاربر با سطح دسترسی Contributor بتونه اسکریپت مخرب تزریق کنه و اون اسکریپت توی دیتابیس ذخیره بشه (Stored XSS)، یعنی امنیت کل پلتفرم و بقیه کاربرها عملا روی هواست. برخلاف ریپورت‌های نمایشی، این یکی با CVSS 6.4 واقعا می‌تونه توی سناریوهای واقعی خطرناک باشه.

در پروژه‌هایی که Scale بالایی دارن و چندین نویسنده یا محتواگذار در پنل فعالیت می‌کنن، این یعنی فاجعه. درواقع اتکر نیازی به دسترسی ادمین نداره؛ کافیه فقط یک پیش‌نویس (Draft) شامل شورت‌کد آلوده بسازه. به محض اینکه ادمین برای بررسی محتوا وارد صفحه بشه، اسکریپت اجرا شده و احتمالا Session Cookie ادمین به سرور اتکر ارسال می‌شه.

توی دنیای واقعی، امنیت یعنی فرض بر این باشه که هر ورودی، حتی از سمت کاربر معتمد، پتانسیل تخریب داره. اگه از این پلاگین استفاده می‌کنید، سریع‌تر به نسخه 3.2.16 آپدیت کنید.

خدمات حرفه‌ای تیم من!

با خدمات حرفه‌ای ما در طراحی سایت، پشتیبانی و بهینه‌سازی وردپرس، کسب‌وکار ها نگرانی فنی نخواهند داشت!