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

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

@syavash_hzd
مهندس نرم‌افزار | علاقمند به لینوکس و دنیای متن‌باز 🐧
اینجا یادداشت‌های کوتاه و روزمره خودم رو می‌نویسم.
ایران، مشهد
از اردیبهشت ۱۴۰۳
43 پست ارسال شده
8.5K بازدیدکننده ماهانه
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 آپدیت کنید.

Avatar
سیاوش حسین زاده
@syavash_hzd ·
امنیت توی اکوسیستم وردپرس همیشه لنگ می‌زنه، اگه پای Addonهای همه‌کاره وسط باشه

امنیت توی اکوسیستم وردپرس همیشه لنگ می‌زنه، اگه پای Addonهای همه‌کاره وسط باشه

این‌بار نوبت Happy Addons بود. یه حفره Stored XSS با امتیاز 6.4 (CVE-2025-14635) که اجازه می‌ده حتی یک کاربر با سطح دسترسی پایین مشارکت کننده (Contributor)، کدهای مخرب خودش رو توی پارامتر ha_page_custom_js تزریق کنه. نکته مضحک داستان؟ این قابلیت قرار بوده فقط برای Adminها باز باشه، ولی چون Input Sanitization و Output Escaping رو جدی نگرفتن، عملا یه راه میانبر برای Privilege Escalation باز شده.

وقتی توسعه‌دهنده یادش می‌ره خروجی رو اسکیپ کنه، فرقی نداره پلاگینت چقدر کاربر پسنده؛ داری با دست خودت به بقیه اجازه می‌دی روی سایتت Payload اجرا کنن. اگه از این افزونه استفاده می‌کنید، همین الان به نسخه 3.20.4 یا بالاتر آپدیت کنید.

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

یادگیری داکر دیگه آپشن نیست، الفبای زنده موندن توی دنیای مدرن توسعه‌ست

بزرگترین کابوس هر توسعه دهنده، جمله‌ی معروف (رو سیستم من کار می‌کرد) هست. داکر اومد که این پارادایم رو کلا عوض کنه. با Containerization شما عملا محیط اجرا رو ایزوله می‌کنید تا پکیج‌ها و Dependencyها دقیقا همون‌جوری که روی Local تست شدن، روی سرور Prod هم بالا بیان.

این دوره‌ی رایگان جادی، دقیقا دست می‌ذاره روی همین نقطه‌. ۱۰۵ دقیقه محتوای بینظیر که از Image گرفتن و کار با Docker Hub شروع می‌شه و می‌رسه به بحث‌های جدی‌تر مثل مدیریت Volumeها و Networking. جادی میرمیرانی مفاهیم رو جوری باز می‌کنه که بفهمید توی Latent Space داکر چه اتفاقی می‌افته، نه اینکه فقط چندتا دستور رو حفظ کنید.

اگه هنوز درگیر نصب دستی کتابخانه‌ها روی سیستم‌عاملی، داری زمانت رو هدر می‌دی! آموزش رایگان رو ببین، داکرایز کردن رو یاد بگیر و تهش هم یه گواهینامه بگیر که توی رزومه‌ت به کارت میاد.

🔗 لینک شرکت در دوره: [فرادرس - آموزش داکر با جادی]
Avatar
سیاوش حسین زاده
@syavash_hzd ·
بازگشت SQL Injection به دنیای MTA: باگ جدید Exim

بازگشت SQL Injection به دنیای MTA: باگ جدید Exim

دنیای امنیت هیچ‌وقت از شوخی‌های کلاسیک خسته نمی‌شه. این‌بار نوبت Exim نسخه 4.98 هست که با یک SQL Injection شناسه CVE-2025-26794 آخرای سال ۲۰۲۵ به صدر اخبار برگرده.

داستان از جایی شروع می‌شه که شما برای مدیریت Hints Database سراغ آپشن USE_SQLITE رفته باشید. باگ زمانی تریگر می‌شه که قابلیت ETRN توی ACLها باز باشه و Serialization هم فعال بمونه. اتکر عملا می‌تونه کوئری‌های خودش رو به دیتابیس SQLite تزریق کنه.

شاید بگید کی از ETRN استفاده می‌کنه؟ یا چرا SQLite؟ مشکل اینجاست که در محیط‌های Enterprise، برای پرفورمنس بالاتر، خیلی‌ها از پیش‌فرض‌های قدیمی فاصله می‌گیرن و دقیقا همین‌جاست که Attack Surface جدید ساخته می‌شه.

خروجی دستور exim -bV رو چک کنید. اگه عبارت Using sqlite3 رو توی بخش Hints DB می‌بینید، معطل نکنید و به آخرین نسخه‌ پچ شده مهاجرت کنید. پیچیدگی کانفیگ همیشه بهای امنیتی داره.

2
Avatar
سیاوش حسین زاده
@syavash_hzd ·
وقتی Core پایتون با یک خط Hex کرش می‌کنه: CVE-2025-13836

وقتی Core پایتون با یک خط Hex کرش می‌کنه: CVE-2025-13836

ماجرا ترسناک‌تر از یک باگ معمولی توی یک پکیج PIP هست. این آسیب‌پذیری مستقیما توی ماژول استاندارد http.client نشسته؛ یعنی زیربنای urllib3، requests و تقریبا هر چیزی که توی پایتون HTTP Request می‌زنه.

منطق باگ، شاهکاره: وقتی هدر Transfer-Encoding: chunked میاد، کلاینت باید سایز چانک بعدی رو بخونه. اتکر خیلی شیک سایز رو FFFFFFFFFFFFFFFF (۱۶ اگزابایت) اعلام می‌کنه. پایتون بدون هیچ Upper Bound Checkای، این عدد رو تبدیل به Int می‌کنه و تابع _safe_read همون لحظه تلاش می‌کنه این حجم رو از مموری malloc کنه. نتیجه؟ MemoryError یا کرش کامل پروسس (DoS) در کمتر از یک ثانیه.

نکته جالب ماجرا اینه که کاشف باگ، این رو با کمک یک LLM Agent توی کد urllib3 پیدا کرد، ولی ریشه توی Core بود. نکته تلخ؟ CPython حدود یک سال از این باگ خبر داشت ولی پچ نکرده بود. این یعنی امنیت توی Open Source گاهی قربانی اولویت‌بندی‌های عجیب می‌شه.

اگر سرویسی دارید که با دنیای بیرون حرف می‌زنه، منتظر نمونید و پایتون رو به نسخه‌های حاوی فیکس (gh-119451) آپدیت کنید.

Avatar
سیاوش حسین زاده
@syavash_hzd ·
آسیب پذیری TeamViewer: وقتی هش درسته، ولی فایل نه!

آسیب پذیری TeamViewer: وقتی هش درسته، ولی فایل نه!

باز هم قصه تکراری Improper Input Validation، این بار توی سرویس Enterprise-grade مثل TeamViewer DEX (همون 1E Client سابق). ماجرا سر سرویس NomadBranch.exe هست که سه تا آسیب‌پذیری گرفته. جدی‌ترینش CVE-2025-44016 با نمره 8.8 که عملا یک کلاس درس برای کساییه که فکر می‌کنن صرفا چک کردن Hash برای امنیت کافیه.

مکانیزم حمله جالبه: اتکر که دسترسی شبکه Local داره، Hash یک فایل Valid رو ارائه میده. سرویس Integrity Check رو روی هش انجام میده و تایید می‌کنه، اما اتکر درواقع Payload مخرب رو تزریق می‌کنه. نتیجه؟ سرویس چون به Hash اعتماد کرده، فایل مخرب رو با دسترسی خودش (Service Context) اجرا می‌کنه. یعنی یک Arbitrary Code Execution تمیز و بی دردسر.

کنارش دوتا باگ دیگه هم هست:

۱. باگ DoS که با یک دستور خاص سرویس رو Crash می‌کنه.

۲. باگ CVE-2025-46266 که سرویس رو مجبور می‌کنه دیتا رو به یک IP داخلی دلخواه بفرسته (یه جورایی شبیه SSRF ولی لوکال).

نکته مثبت اینه که NomadBranch به صورت Default غیرفعاله. نکته منفی؟ توی سازمان‌های بزرگ دقیقا برای Content Distribution این سرویس رو Enable می‌کنن. اگر پچ نسخه 25.11 رو نگیرید، ابزار مدیریت سیستم رو تبدیل کردید به ابزار Lateral Movement برای هکر.

امنیت فقط رمزنگاری و فایروال نیست؛ امنیت یعنی به هیچ ورودی‌ای اعتماد نکنید، حتی اگه Hash درستی داشت. سریع‌تر آپدیت کنید.

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

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