[{"data":1,"prerenderedAt":221},["ShallowReactive",2],{"seo-verification":3,"blog-dokploy-cve-2026-تحديث-عاجل-إلى-0-29-13-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-dokploy-cve-2026-تحديث-عاجل-إلى-0-29-13-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":122,"ctaBody":123,"ctaButton":124,"ctaUrl":125,"relatedPosts":126},379,"dokploy-cve-2026-تحديث-عاجل-إلى-0-29-13",{"fr":12,"en":13,"ar":10,"es":14},"dokploy-cves-2026-mise-a-jour-critique","dokploy-cve-2026-critical-update-0-29-13","dokploy-cve-2026-actualizacion-critica-a-0-29-13","Dokploy ‌CVE-2026: تحديث عاجل إلى 0.29.13","ثغرتان بدرجة ‌CVSS 10.0 و9.9 في Dokploy تتسلسلان: رمز ‌JWT يُزوَّر دون حساب + وصول ‌root عبر ‌WebSocket. دليل التحديث إلى ≥ 0.29.13.",11,0,false,"2026-09-25T00:00:00+00:00","2026-09-25T23:43:02+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdokploy-cves-2026-mise-a-jour-critique-poster.svg",{"categorySlug":34,"appSlug":35},"نشر-التطبيقات-وdevops","dokploy","نشرت استشارتا الأمان ‌GHSA-w3gm-rc4p-9rhj و‌GHSA-7r6p-v9gw-pwc8 في 25 سبتمبر 2026 ثغرتين تكوّنان معاً سيناريو هجوم غير مسبوق على ‌Dokploy: سر ‌JWT مضمَّن في الكود المصدري منذ الإصدار ‌0.27.0 يتيح لأي مهاجم تزوير رمز مسؤول دون امتلاك أي حساب، ثم معالجات ‌WebSocket غير المصرَّح بها تحوّل هذا الرمز إلى ‌shell بصلاحيات ‌root على المضيف. أي نسخة من ‌Dokploy أقل من ‌0.29.13 معرَّضة للاختراق من أي شبكة دون أي تفاعل مطلوب. يتطلب الإصلاح أمرَين وتدويراً واحداً للسر.",[38,42,45,49,52,55,82,85,107,110,113,116,119],{"type":39,"title":40,"body":41},"h2","ثغرتان حرجتان وسلسلة استغلال كاملة","في 25 سبتمبر 2026، نُشرت استشارتا أمان في آنٍ واحد لـ‌Dokploy، أداة النشر ذاتية الاستضافة البديلة لـ‌Heroku و‌Render. يُشكّل الجمع بينهما التهديد الأشد خطورة الذي طال منظومة ‌PaaS ذاتية الاستضافة عام 2026: لا حساب مطلوب، وصول ‌root على المضيف في أقل من دقيقة، وكل نسخة أقل من ‌0.29.13 مكشوفة.\n\n‌CVE-2026-45631 (‌CVSS 10.0) يتعلق بسر ‌JWT مضمَّن في الكود. ‌CVE-2026-72863 (‌CVSS 9.9) يتعلق بمعالجات ‌WebSocket التي تُصادق دون أن تُصرِّح. كل ثغرة على حدة بالغة الخطورة. مجتمعتين تشكّلان هجوماً كاملاً: الأولى تمنح الهوية الإدارية، والثانية تمنح التنفيذ.",{"type":39,"title":43,"body":44},"‌CVE-2026-45631 (‌CVSS 10.0): سر ‌JWT المضمَّن في الكود","تصف الاستشارة ‌GHSA-w3gm-rc4p-9rhj ثغرة من نوع ‌CWE-798 — استخدام بيانات اعتماد ثابتة في الكود. يستخدم ‌Dokploy مكتبة ‌`better-auth` لإدارة الجلسات ورموز ‌JWT. في الإصدارات من ‌0.27.0 إلى ‌0.29.2 شاملةً، تركت قيمة المتغير ‌`BETTER_AUTH_SECRET` الافتراضية على ‌`better-auth-secret-123456789` في الكود المصدري المنشور على ‌GitHub.\n\nهذه القيمة هي ما يُوقِّع كل رموز ‌JWT الإدارية في ‌Dokploy. كل من يعرفها — وهي متاحة للعموم منذ أول ‌commit في الإصدار ‌0.27.0 — يستطيع تزوير رمز ‌JWT صالح بصلاحيات المسؤول دون امتلاك أي حساب على النسخة المستهدفة. تقبل واجهة ‌API الإدارية في ‌Dokploy جميع الطلبات: قراءة كل أسرار النشر، وتنفيذ الأوامر عبر ‌API، وتعديل إعدادات الخدمات.\n\nدرجة ‌CVSS 10.0 هي الحد الأقصى المطلق في المقياس. وتعكس الغياب الكامل لأي حاجز: ناقل الهجوم هو الشبكة، ولا يلزم أي تفاعل من المستخدم، ولا مصادقة مسبقة، وسرية المضيف وسلامته وتوافره مُخترَقة كلياً.",{"type":46,"title":47,"body":48},"tip","التحقق مما إذا كانت نسختك مكشوفة لـ‌CVE-2026-45631","على مضيف ‌Dokploy، نفِّذ: `grep BETTER_AUTH_SECRET \u002Fetc\u002Fdokploy\u002F.env`\n\nإذا كانت القيمة المعروضة هي ‌`better-auth-secret-123456789`، أو كان المتغير غائباً عن الملف، أو سبق ملفَّ ‌`.env` الإصدارَ ‌0.29.3 دون أن يُعاد توليده: فنسختك مكشوفة. إصدار الثنائي وحده لا يكفي — التحديث دون تدوير السر يُبقي القيمة القديمة.",{"type":39,"title":50,"body":51},"‌CVE-2026-72863 (‌CVSS 9.9): التصعيد عبر طرفيات ‌WebSocket","تصف الاستشارة ‌GHSA-7r6p-v9gw-pwc8 ضبط تحكم وصول غير كافٍ على معالجات ‌WebSocket التي تكشف طرفيات ‌Docker في ‌Dokploy. الثغرة من نوع ‌CWE-285 — تفويض غير صحيح.\n\nيتيح ‌Dokploy لكل مستخدم الوصول إلى طرفية تفاعلية في حاوياته عبر ‌WebSocket. الفحص المُطبَّق كان يُصادق المستخدم — يؤكد وجود رمز صالح — لكنه لا يُصرِّح: لم يتحقق من أن الخدمة المطلوبة تعود فعلاً للمستخدم الطالب. وبذلك يستطيع أي مستخدم بحساب صالح، حتى دون صلاحيات إدارية، فتح طرفية في أي حاوية لأي مستخدم آخر.\n\nالتأثير الفعلي يتجاوز الحاوية ذاتها. يعمل ‌Dokploy بصلاحيات ‌root ويُوصِّل مقبس ‌Docker للمضيف (`\u002Fvar\u002Frun\u002Fdocker.sock`). من داخل ‌shell في حاوية، يمنح الأمر `docker run --rm -v \u002F:\u002Fhost alpine chroot \u002Fhost sh` صدفة ‌root على نظام ملفات المضيف. جميع الإصدارات الأقل من ‌0.29.13 متأثرة.",{"type":39,"title":53,"body":54},"سيناريو الهجوم الكامل: من الصفر إلى ‌root","تُشكّل سلسلة ‌CVE-2026-45631 + ‌CVE-2026-72863 هجوماً كاملاً قابلاً للتنفيذ من أي شبكة، دون حساب مسبق، في خطوتين.\n\n**الخطوة 1 — تزوير رمز مسؤول (‌CVE-2026-45631).** يعرف المهاجم القيمة ‌`better-auth-secret-123456789` من الكود المصدري العام. يُولِّد رمز ‌JWT موقَّعاً بهذه القيمة مدَّعياً دور المسؤول. تقبل ‌API الخاصة بـ‌Dokploy هذا الرمز دون تحقق إضافي. يمتلك المهاجم الآن صلاحية إدارية كاملة: قائمة بكل الخدمات والأسرار البيئية ومفاتيح النشر.\n\n**الخطوة 2 — الوصول إلى طرفية حاوية (‌CVE-2026-72863).** بالرمز الإداري المزوَّر، يفتح المهاجم اتصال ‌WebSocket بطرفية أي حاوية. يسمح الفحص الغائب للتصريح بتمرير الطلب. يمتلك المهاجم الآن ‌shell داخل الحاوية.\n\n**النتيجة — ‌root على المضيف.** مع تشغيل ‌Dokploy بصلاحيات ‌root ومقبس ‌Docker مُوصَّل، ينتقل المهاجم من الحاوية إلى المضيف. نظام الملفات بالكامل، وأسرار كل المشاريع المستضافة، ومفاتيح ‌SSH، والمتغيرات البيئية للإنتاج — كلها في متناوله. لا يتطلب الأمر أي تفاعل من المشغّل ولا حساباً مسبقاً.",{"type":56,"title":57,"headers":58,"rows":64},"comparison","مصفوفة الإصدارات والتصحيحات",[59,60,61,62,63],"‌CVE","‌CVSS","الإصدارات المتأثرة","الإصدار المُصلَح","الإجراء المطلوب",[65,71,77],[66,67,68,69,70],"‌CVE-2026-45631","10.0 — حرجة","‌0.27.0 – 0.29.2","≥ ‌0.29.3","التحديث + توليد ‌BETTER_AUTH_SECRET من جديد",[72,73,74,75,76],"‌CVE-2026-72863","9.9 — حرجة","\u003C ‌0.29.13","≥ ‌0.29.13","التحديث إلى ‌0.29.13 كحد أدنى",[78,79,80,75,81],"السلسلة الكاملة","10.0 فعلياً","\u003C ‌0.29.13 مع السر الافتراضي","التحديث + تدوير السر",{"type":39,"title":83,"body":84},"تشخيص نسختك قبل تطبيق التصحيح","قبل المتابعة في التحديث، قيِّم مدى انكشاف نسختك بدقة.\n\n**التحقق من الإصدار المثبَّت**: `docker exec dokploy cat \u002Fapp\u002Fpackage.json | grep '\"version\"'`\n\nإذا كان الإصدار المعروض أقل من ‌0.29.13، فنسختك معرَّضة لـ‌CVE-2026-72863. إذا كانت بين ‌0.27.0 و‌0.29.2، فهي معرَّضة للثغرتين في آنٍ واحد.\n\n**التحقق من قيمة سر ‌JWT**: `grep BETTER_AUTH_SECRET \u002Fetc\u002Fdokploy\u002F.env`\n\nإذا كانت القيمة ‌`better-auth-secret-123456789` أو كان المتغير غائباً، فـ‌CVE-2026-45631 قابلة للاستغلال على نسختك بصرف النظر عن الإصدار.\n\n**التحقق من الانكشاف الشبكي**: إذا كانت واجهة ‌Dokploy متاحة من الإنترنت دون تقييد ‌IP (جدار حماية، ‌Cloudflare Access، ‌VPN)، فسطح الهجوم عام. لا يحتاج المهاجم إلى أي وصول شبكي مسبق لاستغلال ‌CVE-2026-45631.",{"type":86,"title":87,"steps":88},"steps","دليل التحديث خطوة بخطوة إلى ‌Dokploy 0.29.13",[89,92,95,98,101,104],{"title":90,"body":91},"نسخ احتياطي للإعدادات والبيانات","قبل أي عملية، أنشئ نسخة احتياطية كاملة.\n\n```bash\n# نسخ دليل الإعداد احتياطياً\ncp -r \u002Fetc\u002Fdokploy \u002Fetc\u002Fdokploy.bak-$(date +%Y%m%d-%H%M)\n\n# نسخ قاعدة بيانات Dokploy احتياطياً\ndocker exec dokploy-postgres pg_dump -U dokploy dokploy > \u002Froot\u002Fdokploy-db-$(date +%Y%m%d).sql\n```\n\nاحتفظ بهذه النسخ خارج مضيف ‌Dokploy — إذا اختُرقت النسخة، فالنسخ الاحتياطية المحلية في متناول المهاجم.",{"title":93,"body":94},"التحقق من الإصدار الحالي وملف ‌docker-compose.yml","حدِّد طريقة التثبيت والإصدار المُثبَّت في ملف ‌Compose الخاص بك. تستخدم معظم تثبيتات ‌Dokploy الصورة الرسمية ‌`dokploy\u002Fdokploy`. إذا كان ثمة وسم إصدار مُثبَّت في ‌`docker-compose.yml`، فدوِّنه.\n\n```bash\ncat \u002Fetc\u002Fdokploy\u002Fdocker-compose.yml | grep 'image:'\n```",{"title":96,"body":97},"تحديث صورة ‌Dokploy","من دليل إعداد ‌Dokploy:\n\n```bash\ncd \u002Fetc\u002Fdokploy\ndocker compose pull\n```\n\nيُنزِّل هذا الأمر صورة ‌`dokploy\u002Fdokploy:latest` أو الوسم المُثبَّت. لتثبيت الإصدار المُصلَح صراحةً، حدِّث السطر ‌`image:` في ‌`docker-compose.yml`: استبدل الوسم الموجود بـ‌`dokploy\u002Fdokploy:0.29.13` قبل تشغيل ‌pull.",{"title":99,"body":100},"إعادة تشغيل الحاويات","```bash\ncd \u002Fetc\u002Fdokploy\ndocker compose down\ndocker compose up -d\n```\n\nانتظر حتى تصل الحاويات إلى الحالة ‌`healthy` قبل المتابعة:\n\n```bash\ndocker compose ps\n```\n\nيجب أن يُظهر ‌Dokploy وقاعدة بيانات ‌PostgreSQL كلاهما ‌`Up` أو ‌`healthy`.",{"title":102,"body":103},"توليد قيمة جديدة لـ‌BETTER_AUTH_SECRET","هذه هي الخطوة الأهم والأكثر إغفالاً. التحديث دون تدوير السر يُبقي ‌CVE-2026-45631 قابلة للاستغلال. ولِّد قيمة عشوائية جديدة آمنة تشفيرياً:\n\n```bash\nopenssl rand -base64 48\n```\n\nانسخ القيمة المُولَّدة. افتح ‌`\u002Fetc\u002Fdokploy\u002F.env` واستبدل السطر ‌`BETTER_AUTH_SECRET=...` بالقيمة الجديدة. إذا كان المتغير غائباً عن الملف، أضفه.\n\nثم أعد تشغيل ‌Dokploy لتطبيق التغيير:\n\n```bash\ncd \u002Fetc\u002Fdokploy && docker compose down && docker compose up -d\n```\n\nملاحظة: تدوير السر يُبطل جميع الجلسات النشطة. سيحتاج المستخدمون المتصلون إلى تسجيل الدخول مجدداً.",{"title":105,"body":106},"التحقق من الإصدار بعد التحديث","تأكد من تشغيل الإصدار ‌0.29.13 أو أحدث:\n\n```bash\ndocker exec dokploy cat \u002Fapp\u002Fpackage.json | grep '\"version\"'\n```\n\nتحقق أيضاً من تطبيق السر الجديد:\n\n```bash\ngrep BETTER_AUTH_SECRET \u002Fetc\u002Fdokploy\u002F.env\n```\n\nيجب ألا تكون القيمة بعد الآن ‌`better-auth-secret-123456789`. إذا كانت كذلك، فلم يُطبَّق التدوير — أعِد الخطوة السابقة.",{"type":39,"title":108,"body":109},"إجراءات التصليب بعد التصحيح","يُصلح التحديث كلتا الثغرتين. تُقلل هذه الإجراءات الإضافية من سطح الهجوم المتبقي.\n\n**تقييد الوصول الشبكي لواجهة ‌Dokploy.** لا توجد مبررات لإتاحة واجهة الإدارة من الإنترنت. قيِّد الوصول إلى المنفذ ‌3000 (أو المنفذ الذي تستخدمه) على عناوين ‌IP لفريقك عبر جدار حماية المضيف، أو ضع ‌Dokploy خلف ‌VPN.\n\n**تفعيل المصادقة متعددة العوامل (‌MFA).** يدعم ‌Dokploy بروتوكول ‌TOTP منذ الإصدار ‌0.28.0. فعِّله لجميع حسابات الإدارة.\n\n**مراجعة أسرار بيئة المشاريع.** يخزِّن ‌Dokploy متغيرات البيئة الخاصة بتطبيقاتك. إذا كانت النسخة مكشوفة خلال نافذة الثغرة (الإصدارات ‌0.27.0 إلى ‌0.29.12)، افترض أن جميع أسرار الإنتاج قد تكون قد اطُّلع عليها. يُوصى بتدوير مفاتيح ‌API ورموز قاعدة البيانات وأسرار التطبيق.\n\n**مقبس ‌Docker ومبدأ الامتياز الأدنى.** مقبس ‌Docker المُوصَّل كحجم هو سطح هجوم موثَّق ومُستغَل في ‌CVE-2026-72863. يحتاجه ‌Dokploy للعمل، لكن يمكن تقييد الوصول عبر سياسات وكيل مقبس ‌Docker مثل ‌`Tecnativa\u002Fdocker-socket-proxy` للحد من العمليات المُصرَّح بها.",{"type":39,"title":111,"body":112},"هل ‌Dokploy لا يزال موثوقاً رغم هذه الثغرات؟","هذه الثغرتان خطيرتان، لكن استجابة المطوِّرين تستحق التأمل قبل إصدار حكم على نضج المشروع.\n\nنُشرت الاستشارات في 25 سبتمبر 2026. كان إصلاح ‌CVE-2026-45631 متاحاً في الإصدار ‌0.29.3، وإصلاح ‌CVE-2026-72863 في الإصدار ‌0.29.13 — كلاهما في مهلة معقولة بعد الإفصاح المسؤول. يُديم المشروع برنامج أمان عبر ‌GitHub Security Advisories، مما يدل على قدر من النضج في إدارة الثغرات.\n\n‌Dokploy مشروع شاب (أول إصدار مستقر عام 2024) يحقق انتشاراً سريعاً: أكثر من 15 ألف نجمة على ‌GitHub ووتيرة إصدارات مستمرة. وجود سر ثابت في الإصدارات الأولى يعكس ديناً أمنياً نموذجياً للمشاريع سريعة النمو حيث أُولِيت سهولة التثبيت الأولوية على صرامة الإعدادات الافتراضية.\n\nيبقى المشروع خياراً ملائماً للفرق التي تريد ‌PaaS ذاتية الاستضافة وسهلة الوصول، شريطة متابعة تحديثات الأمان وتطبيق إجراءات التصليب الموضَّحة في هذا المقال.",{"type":39,"title":114,"body":115},"البدائل إذا كنت تفكر في الانتقال","إذا دفعتك هذه الثغرات إلى إعادة تقييم اختيارك لـ‌PaaS ذاتية الاستضافة، إليك البدائل النشطة في هذا القطاع.\n\n**‌Coolify** هو أقرب البدائل من حيث الميزات. مفتوح المصدر، يُصان بنشاط، بنموذج أمان أكثر نضجاً لإدارة الأسرار (لا قيمة افتراضية مضمَّنة موثَّقة حتى الآن). واجهته أكثر تعقيداً لكن قاعدة كوده أكبر وأكثر مراجعةً.\n\n**‌Caprover** خيار مجرَّب، أقدم وبالتالي بسجل أمني أطول. أقل نشاطاً في الميزات الجديدة لكن أكثر استقراراً.\n\n**‌Portainer مع ‌Docker stacks** يبقى نهجاً صالحاً للفرق التي لا تحتاج ‌PaaS كاملة. يحمل ‌Portainer ثغراته التاريخية — ولا سيما تصعيد الامتيازات عبر ‌Docker API — لكن الإصدار ‌3.x أعاد النظر في إدارة التفويض.\n\nأياً كان البديل المختار، تطبيق إجراءات التصليب ذاتها (تقييد الوصول الشبكي، ‌MFA، تدوير منتظم للأسرار) يبقى الخط الأساسي غير القابل للتفاوض.",{"type":46,"title":117,"body":118},"على ‌VPS من ‌ServOrbit، يختزل التصحيح في أمرَين","تشغيل `docker compose pull && docker compose up -d` من ‌`\u002Fetc\u002Fdokploy`، يليه توليد قيمة جديدة لـ‌`BETTER_AUTH_SECRET`، يُطبِّق الإصلاح الكامل. على ‌VPS بوصول ‌root، تختار نافذة الصيانة الخاصة بك دون الانتظار على مزود الاستضافة. إذا نشرت ‌Dokploy عبر قالب ‌ServOrbit، فملف ‌`.env` في ‌`\u002Fetc\u002Fdokploy\u002F` والملف ‌`docker-compose.yml` هو الذي يُوفِّره القالب.",{"type":39,"title":120,"body":121},"الخلاصة: النقاط غير القابلة للتفاوض","‌CVE-2026-45631 (‌CVSS 10.0) و‌CVE-2026-72863 (‌CVSS 9.9) تتسلسلان في هجوم من الصفر إلى ‌root على المضيف. أي نسخة من ‌Dokploy أقل من ‌0.29.13 مع السر الافتراضي ‌`better-auth-secret-123456789` قابلة للاختراق من أي شبكة.\n\nيتطلب الإصلاح خطوتين متمايزتين وكلتاهما إلزاميتان: التحديث إلى الإصدار ‌0.29.13 كحد أدنى (`docker compose pull && docker compose up -d`)، وتوليد قيمة جديدة لـ‌`BETTER_AUTH_SECRET` في ملف ‌`.env` (`openssl rand -base64 48`). إحداهما دون الأخرى لا يُغلق إلا نصف السطح.\n\nبعد التحديث، قيِّد الوصول الشبكي لواجهة الإدارة، فعِّل ‌MFA، وإذا كانت النسخة مكشوفة خلال نافذة الثغرة، دوِّر جميع أسرار التطبيقات المستضافة.","انشر ‌Dokploy على ‌VPS تتحكم فيه","على ‌VPS من ‌ServOrbit بوصول ‌root، تُطبِّق هذا التصحيح في أمرَين في الوقت الذي تختاره — دون انتظار نافذة صيانة يفرضها مزود الاستضافة. قالب ‌Dokploy متاح في ‌Marketplace.","نشر ‌Dokploy","\u002Fmarketplace\u002Fنشر-التطبيقات-وdevops\u002Fdokploy",[127,148,170,188,207],{"id":128,"slug":129,"slugs":130,"title":134,"excerpt":135,"readTime":136,"views":18,"isPinned":19,"publishedAt":137,"updatedAt":138,"category":139,"categories":144,"featuredImage":30,"bgImage":31,"posterImage":146,"relatedSolution":147},42,"نشر-تطبيقاتك-باستخدام-dokploy-على-vps",{"fr":131,"en":132,"ar":129,"es":133},"deployer-avec-dokploy","deploy-your-applications-with-dokploy-on-a-vps","desplegar-aplicaciones-con-dokploy-en-un-vps","نشر تطبيقاتك باستخدام Dokploy على VPS","انشر تطبيقاتك باستخدام Dokploy على VPS: منصة PaaS مفتوحة المصدر مع Traefik مدمج وDocker Compose وقواعد بيانات ونشر عبر Git.",9,"2026-05-09T00:00:00+00:00","2026-09-21T15:22:03+00:00",{"id":140,"name":141,"slug":142,"color":143,"icon":142},3,"النشر","deploiement","bg-success\u002F10 text-success",[145],{"id":140,"name":141,"slug":142,"color":143,"icon":142},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-dokploy-poster.svg",{"categorySlug":34,"appSlug":35},{"id":149,"slug":150,"slugs":151,"title":155,"excerpt":156,"readTime":157,"views":158,"isPinned":19,"publishedAt":159,"updatedAt":160,"category":161,"categories":166,"featuredImage":30,"bgImage":31,"posterImage":168,"relatedSolution":169},104,"portainer-مقابل-dokploy-أي-واجهة-لإدارة-docker",{"fr":152,"en":153,"ar":150,"es":154},"portainer-vs-dokploy","portainer-vs-dokploy-which-docker-management-interface","portainer-vs-dokploy-interfaz-de-gestion-docker","‏Portainer مقابل Dokploy: أيهما تختار في 2026؟","مقارنة شاملة بين ‏Portainer 2.x‏ و‏Dokploy‏ على خادم VPS: ثغرات CVE الحرجة، نهاية الإصدار المجتمعي، والانتقال خطوة بخطوة.",10,1,"2026-03-08T00:00:00+00:00","2026-09-25T23:43:04+00:00",{"id":162,"name":163,"slug":164,"color":165,"icon":164},5,"مقارنات","comparatif","bg-info\u002F10 text-info",[167],{"id":162,"name":163,"slug":164,"color":165,"icon":164},"\u002Fblog\u002Fcovers\u002Fportainer-vs-dokploy-poster.svg",{"categorySlug":34,"appSlug":35},{"id":171,"slug":172,"slugs":173,"title":177,"excerpt":178,"readTime":157,"views":18,"isPinned":19,"publishedAt":179,"updatedAt":180,"category":181,"categories":182,"featuredImage":30,"bgImage":31,"posterImage":184,"relatedSolution":185},360,"n8n-cve-2026-21877-تصحيح-ثغرة-rce",{"fr":174,"en":175,"ar":172,"es":176},"n8n-cve-2026-21877-mise-a-jour-urgence","n8n-cve-2026-21877-critical-rce-patch","n8n-cve-2026-21877-parche-rce-critico","n8n CVE-2026-21877: تصحيح ثغرة RCE بدرجة 9.9 عاجلاً","CVE-2026-21877 تُتيح تنفيذ كود عن بُعد بعد مصادقة في n8n (CVSS‏ 9.9). تحديث فوري إلى ≥ 1.121.3 مع حل مشكلة الجدولة.","2026-09-18T00:00:00+00:00","2026-09-19T02:00:43+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[183],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fn8n-cve-2026-21877-mise-a-jour-urgence-poster.svg",{"categorySlug":186,"appSlug":187},"الأتمتة-وسير-العمل","n8n",{"id":189,"slug":190,"slugs":191,"title":195,"excerpt":196,"readTime":197,"views":158,"isPinned":19,"publishedAt":198,"updatedAt":199,"category":200,"categories":201,"featuredImage":30,"bgImage":31,"posterImage":203,"relatedSolution":204},108,"تأمين-خادمك-الافتراضي-vps-باستخدام-crowdsec",{"fr":192,"en":193,"ar":190,"es":194},"securiser-vps-crowdsec","securing-your-vps-with-crowdsec","proteger-vps-con-crowdsec","تأمين خادمك الافتراضي VPS باستخدام CrowdSec","انشر CrowdSec على خادمك الافتراضي VPS لحجب الهجمات بفضل الكشف السلوكي وقائمة حظر مجتمعية مشتركة.",4,"2026-03-04T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[202],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fsecuriser-vps-crowdsec-poster.svg",{"categorySlug":205,"appSlug":206},"الأمن-السيبراني-والحصن","crowdsec",{"id":208,"slug":209,"slugs":210,"title":214,"excerpt":215,"readTime":197,"views":18,"isPinned":19,"publishedAt":216,"updatedAt":199,"category":217,"categories":218,"featuredImage":30,"bgImage":31,"posterImage":220,"relatedSolution":30},115,"تهيئة-جدار-الحماية-ufw-على-خادمك-vps",{"fr":211,"en":212,"ar":209,"es":213},"pare-feu-ufw-vps","configure-your-vps-firewall-with-ufw","configurar-firewall-ufw-vps","تهيئة جدار الحماية UFW على خادمك VPS","هيّئ جدار حماية خادمك VPS باستخدام UFW خطوة بخطوة: القواعد والمنافذ وتحديد معدّل SSH وأفضل الممارسات لتقليص سطح الهجوم.","2026-02-25T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[219],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fpare-feu-ufw-vps-poster.svg",1790385706995]