[{"data":1,"prerenderedAt":179},["ShallowReactive",2],{"seo-verification":3,"blog-تصحيح-ثغرة-postgresql-cve-2026-6471-الخوادم-الذاتية-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-تصحيح-ثغرة-postgresql-cve-2026-6471-الخوادم-الذاتية-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"category":21,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":29,"intro":32,"sections":33,"ctaTitle":119,"ctaBody":120,"ctaButton":121,"ctaUrl":122,"relatedPosts":123},339,"تصحيح-ثغرة-postgresql-cve-2026-6471-الخوادم-الذاتية",{"fr":12,"en":13,"ar":10,"es":14},"postgresql-cve-2026-6471-patch-instances-self-hosted","postgresql-cve-2026-6471-patch-self-hosted-instances","cve-2026-6471-postgresql-parchear-instancias-self-hosted","CVE-2026-6471 و14669: تصحيح PostgreSQL على VPS","ثغرتان حرجتان في PostgreSQL تم إصلاحهما في 13 أغسطس 2026: استغلال التكرار للوصول إلى تنفيذ كود وتجاوز مخزن مؤقت. كيفية التصحيح عبر apt وDocker.",7,1,false,"2026-09-08T00:00:00+00:00",{"id":22,"name":23,"slug":24,"color":25,"icon":26},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[28],{"id":22,"name":23,"slug":24,"color":25,"icon":26},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fpostgresql-cve-2026-6471-patch-instances-self-hosted-poster.svg","في 13 أغسطس 2026، نشر فريق PostgreSQL إصلاحات لـ 28 ثغرة أمنية، من بينها ثغرتان تتيحان لمهاجم تنفيذ تعليمات برمجية اعتباطية بصلاحيات عملية قاعدة البيانات. تستغل CVE-2026-6471 آلية فك الترميز المنطقي لتحميل مكتبة عشوائية — وهو مسار هجوم موجود منذ PostgreSQL 9.4. أما CVE-2026-14669 فهي تجاوز لمخزن مؤقت في الكومة داخل الدالة `to_char()‎` يمكن أي مستخدم مصادَق تشغيله. إن كنت تشغّل PostgreSQL ذاتياً — سواء في Supabase أو NocoDB أو Gitea أو Twenty أو أي تطبيق آخر — إليك كيفية تقييم مدى تعرضك وتطبيق التصحيح.",[34,38,70,73,76,95,107,110,113,116],{"type":35,"title":36,"body":37},"h2","ما الذي تفعله هاتان الثغرتان","تستهدف CVE-2026-6471 (CVSS 7.2) آلية فك الترميز المنطقي المُدرجة في PostgreSQL 9.4. يمكن لحساب يحمل صفة REPLICATION تحديد إضافة إخراج عشوائية عند إنشاء فتحة تكرار منطقية. قبل الإصلاح، كان PostgreSQL يحمّل الملف المطلوب عبر `dlopen` دون التحقق من مصدره، مما يتيح تنفيذ تعليمات برمجية بصلاحيات حساب النظام ‎`postgres`‎. لا يحتاج المهاجم إلى وصول شبكي مباشر إلى خادمك: يكفي وجود نظير تكرار مخترق أو أداة CDC أو مستخدم داخلي يحمل صفة REPLICATION. يضيف الإصلاح معامل ‎`output_plugin_libraries`‎ يحدد المكتبات المسموح بها — يعتمد افتراضياً على ‎`pgoutput`‎ و‎`test_decoding`‎ فقط.\n\nتُعدّ CVE-2026-14669 (CVSS 8.8) تجاوزاً لمخزن مؤقت في الكومة داخل الدالة `to_char(timestamptz)‎`. تبني الدالة مخزناً مؤقتاً للعمل من سلسلة التنسيق، غير أن مسارات معالجة المناطق الزمنية POSIX تنسخ الاختصار الذي يوفره المستخدم في هذا المخزن دون فحص الطول. يمكن لأي مستخدم مصادَق اعتيادي تشغيل الثغرة بتمرير اختصار منطقة زمنية مفرط الطول، مما يؤدي إلى الكتابة فوق هياكل الكومة المجاورة وتحويل مسار التنفيذ لتنفيذ تعليمات برمجية اعتباطية بصلاحيات مستخدم النظام ‎`postgres`‎.",{"type":39,"title":40,"headers":41,"rows":45},"comparison","مقارنة بين الثغرتين",[42,43,44],"المعيار","CVE-2026-6471","CVE-2026-14669",[46,50,54,57,61,64,67],[47,48,49],"درجة CVSS","7.2 (مرتفع)","8.8 (مرتفع)",[51,52,53],"المكوّن","فك الترميز المنطقي","‎`to_char(timestamptz)`‎",[55,56,56],"ناقل الهجوم","شبكة",[58,59,60],"الصلاحية الدنيا المطلوبة","صفة REPLICATION","مستخدم مصادَق",[62,63,63],"هل يلزم وصول عام؟","لا",[65,66,66],"نوع التأثير","تنفيذ تعليمات برمجية",[68,69,69],"تاريخ الإصلاح","2026-08-13",{"type":35,"title":71,"body":72},"الإصدارات المتأثرة والإصدارات المُصحَّحة","تؤثر كلتا الثغرتين على جميع فروع PostgreSQL المدعومة. الإصدارات المُصحَّحة، الصادرة في 13 أغسطس 2026، هي: PostgreSQL 18.6 و17.11 و16.15 و15.19 و14.24. أي نسخة تعمل على إصدار أقدم من هذه الأرقام تكون معرَّضة للخطر. لم تعد PostgreSQL 13 وما قبلها تتلقى تصحيحات لأنها بلغت نهاية عمرها الافتراضي. التطبيقات التي تضم PostgreSQL — كـ Supabase وNocoDB وGitea وTwenty CRM وPlanka — تتأثر إن لم تحدّث صورتها الأساسية بعد.",{"type":35,"title":74,"body":75},"قبل التصحيح: مراجعة أدوار التكرار","قبل تطبيق التصحيح، من المفيد معرفة عدد الحسابات التي تحمل صفة REPLICATION على نسخك. تعرض الاستعلام التالي جميع الأدوار المعنية:\n\n`SELECT rolname, rolreplication, rolsuper FROM pg_roles WHERE rolreplication = true OR rolsuper = true ORDER BY rolsuper DESC, rolname;`\n\nإن وجدت حسابات بصفة REPLICATION لا تخدم تكراراً فعلياً، اسحب الصفة منها: `ALTER ROLE اسم_الدور NOREPLICATION;`. هذا إجراء تخفيف مؤقت ريثما يُطبَّق التصحيح، وممارسة جيدة دائمة.",{"type":77,"title":78,"steps":79},"steps","‏التصحيح عبر apt على Debian وUbuntu",[80,83,86,89,92],{"title":81,"body":82},"التحقق من الإصدار الحالي","اتصل بنسختك وتحقق من الإصدار الحالي: `psql -U postgres -c 'SELECT version();'`. دوّن الفرع (14 أو 15 أو 16 أو 17 أو 18) لتثبيت الحزمة الصحيحة.",{"title":84,"body":85},"التأكد من تهيئة مستودع PGDG","تُضمّن مستودعات Debian وUbuntu القياسية في الغالب إصدارات قديمة. للحصول على أحدث التصحيحات، استخدم المستودع الرسمي لـ PostgreSQL. إن لم يكن مهيأً: `sudo apt install -y postgresql-common && sudo \u002Fusr\u002Fshare\u002Fpostgresql-common\u002Fpgdg\u002Fapt.postgresql.org.sh`.",{"title":87,"body":88},"تحديث الحزم","التحديث الثانوي (17.10 → 17.11 مثلاً) لا يستلزم ‎`pg_upgradecluster`‎ ويحتفظ ببياناتك كما هي. نفّذ: `sudo apt update && sudo apt install postgresql-17` (استبدل ‎`17`‎ بفرعك). بالنسبة للفروع الأخرى: `sudo apt install postgresql-16` أو ‎`postgresql-15`‎ أو ‎`postgresql-14`‎.",{"title":90,"body":91},"إعادة تشغيل الخدمة","يجب إعادة تشغيل الخدمة لتحميل الثنائي الجديد: `sudo systemctl restart postgresql`. ثم تحقق من أن الخدمة انطلقت بشكل صحيح: `sudo systemctl status postgresql`.",{"title":93,"body":94},"التحقق من الإصدار بعد التصحيح","أعد الاتصال وتحقق من أن الإصدار المعروض يتوافق مع التصحيح: `psql -U postgres -c 'SELECT version();'`. يجب أن ترى 17.11 أو 16.15 أو 15.19 أو 14.24 أو 18.6 بحسب فرعك.",{"type":77,"title":96,"steps":97},"التصحيح عبر Docker",[98,101,104],{"title":99,"body":100},"سحب الصورة المُصحَّحة","جرى تحديث الصور الرسمية ‎`postgres`‎ على Docker Hub بالإصدارات المُصحَّحة. اسحب الصورة المناسبة لفرعك: `docker pull postgres:17.11` أو ‎`postgres:16.15`‎ أو ‎`postgres:15.19`‎ أو ‎`postgres:14.24`‎. للصور Alpine: `docker pull postgres:17.11-alpine`.",{"title":102,"body":103},"إعادة تشغيل الحاوية","إن كنت تستخدم Docker Compose، حدّث وسم الصورة في ملف ‎`docker-compose.yml`‎ ثم نفّذ: `docker compose pull && docker compose up -d`. للحاويات المُشغَّلة مباشرة: `docker stop postgres-container && docker rm postgres-container`، ثم أعد التشغيل بالصورة الجديدة. تبقى بياناتك في المجلد المثبَّت — تأكد من تعريف المجلد قبل حذف الحاوية.",{"title":105,"body":106},"التحقق من الإصدار داخل الحاوية","اتصل بالحاوية وأكّد الإصدار: `docker exec -it postgres-container psql -U postgres -c 'SELECT version();'`. يجب أن تُظهر المخرجات الإصدار المُصحَّح.",{"type":35,"title":108,"body":109},"إجراءات تخفيف مؤقتة إن تعذّر التصحيح فوراً","إن لم تتمكن من إعادة تشغيل النسخة فوراً، ثمة ثلاثة إجراءات تُقلل التعرض لـ CVE-2026-6471 دون تطبيق التصحيح:\n\nأولاً، اسحب صفة REPLICATION من الحسابات التي لا تحتاجها (`ALTER ROLE الاسم NOREPLICATION;`). ثانياً، قيّد إدخالات التكرار في ‎`pg_hba.conf`‎ على عناوين IP للنظراء الشرعيين فقط — استبدل قاعدة ‎`host replication all 0.0.0.0\u002F0`‎ بإدخالات محددة لكل مضيف مصرَّح له. ثالثاً، إن كانت نسختك لا تستخدم التكرار المنطقي إطلاقاً، يمكنك ضبط ‎`wal_level = replica`‎ في ‎`postgresql.conf`‎ — هذا يعطّل فك الترميز المنطقي ويغلق ناقل هجوم CVE-2026-6471.\n\nبالنسبة لـ CVE-2026-14669، لا يوجد حل بديل موثَّق على مستوى التطبيق: العلاج الوحيد هو تحديث الثنائي.",{"type":35,"title":111,"body":112},"التحقق من التطبيقات التي تضم PostgreSQL","تضم كل من Supabase وNocoDB وGitea وTwenty CRM وPlanka قاعدة بيانات PostgreSQL في صورها Docker أو مخططات Helm الخاصة بها. لهذه التطبيقات، يعني تحديث PostgreSQL تحديث صورة التطبيق ذاتها. راجع ملاحظات إصدار كل تطبيق: منذ 13 أغسطس 2026، يجب أن تكون التوزيعات التي نشرت تحديثاً قد دمجت PostgreSQL 17.11 أو 16.15 أو ما يعادلهما. إن لم يتوفر تحديث لتطبيقك، يمكنك نشر حاوية PostgreSQL منفصلة بالإصدار المُصحَّح وتوجيه التطبيق إليها.",{"type":114,"body":115},"tip","‏الأمر ‎`SELECT version();`‎ في ‏psql لا يكفي للتأكد من تفعيل التصحيح إن تعددت ثنائيات ‏PostgreSQL على الخادم. تحقق من الثنائي الفعلي قيد التشغيل: يُدرج ‏`pg_lsclusters`‏ على ‏Debian\u002FUbuntu جميع المجموعات مع إصداراتها. تأكد من أن المجموعة النشطة تستخدم الثنائي المحدَّث.",{"type":35,"title":117,"body":118},"نشر PostgreSQL بصلاحيات root لتطبيق التصحيحات بنفسك","على الاستضافة المشتركة أو في بيئات PaaS، لا تملك صلاحية الوصول إلى ثنائي PostgreSQL: يتوقف التحديث على مزوّد الخدمة. على خادم VPS بصلاحيات root، تطبّق هذا التصحيح في أقل من عشر دقائق دون الاعتماد على أي طرف. أنت من يختار وقت إعادة التشغيل، وتحتفظ بالسيطرة على ‎`pg_hba.conf`‎ وتراجع أدوار التكرار بنفسك. هذا هو النموذج الذي ينطبق بطبيعة الحال على أي بنية مستضافة ذاتياً.","نشر PostgreSQL على خادم VPS بصلاحيات root","يمنحك خادم ServOrbit Cloud VPS صلاحيات root كاملة لتطبيق هذا التصحيح في أقل من عشر دقائق، وضبط ‎`pg_hba.conf`‎ ومراجعة أدوار التكرار دون الاعتماد على طرف ثالث.","تهيئة حل PostgreSQL الخاص بي على VPS","\u002Fvps-cloud",[124,148,165],{"id":125,"slug":126,"slugs":127,"title":131,"excerpt":132,"readTime":133,"views":134,"isPinned":19,"publishedAt":135,"category":136,"categories":142,"featuredImage":29,"bgImage":30,"posterImage":144,"relatedSolution":145},56,"postgresql-على-خادم-vps-قاعدة-بيانات-موثوقة-ومتحكم-بها",{"fr":128,"en":129,"ar":126,"es":130},"heberger-postgresql-vps","postgresql-on-a-vps-a-reliable-and-controlled-database","alojar-postgresql-en-un-vps","PostgreSQL على خادم VPS: قاعدة بيانات موثوقة ومُتحكَّم بها","استضف PostgreSQL على خادم VPS: وحدات التخزين والنسخ الاحتياطية والوصول الشبكي المحدود والإعداد السليم لتطبيقاتك.",4,0,"2026-04-25T00:00:00+00:00",{"id":137,"name":138,"slug":139,"color":140,"icon":141},6,"قواعد البيانات","bases-de-donnees","bg-teal-500\u002F10 text-teal-400","database",[143],{"id":137,"name":138,"slug":139,"color":140,"icon":141},"\u002Fblog\u002Fcovers\u002Fheberger-postgresql-vps-poster.svg",{"categorySlug":146,"appSlug":147},"قواعد-البيانات","postgresql-stack",{"id":149,"slug":150,"slugs":151,"title":155,"excerpt":156,"readTime":157,"views":134,"isPinned":19,"publishedAt":158,"category":159,"categories":160,"featuredImage":29,"bgImage":30,"posterImage":162,"relatedSolution":163},60,"استضافة-supabase-على-خادم-vps",{"fr":152,"en":153,"ar":150,"es":154},"heberger-supabase-vps","hosting-supabase-on-a-vps","alojar-supabase-en-un-vps","استضافة Supabase على خادم VPS في 2026","استضِف Supabase ذاتيًا على VPS: Postgres وAuth وStorage وAPI مع ‌Envoy Gateway. دليل الترحيل من Kong إلى Envoy وإصلاح روابط S3.",11,"2026-04-21T00:00:00+00:00",{"id":137,"name":138,"slug":139,"color":140,"icon":141},[161],{"id":137,"name":138,"slug":139,"color":140,"icon":141},"\u002Fblog\u002Fcovers\u002Fheberger-supabase-vps-poster.svg",{"categorySlug":146,"appSlug":164},"supabase",{"id":166,"slug":167,"slugs":168,"title":172,"excerpt":173,"readTime":133,"views":134,"isPinned":19,"publishedAt":174,"category":175,"categories":176,"featuredImage":29,"bgImage":30,"posterImage":178,"relatedSolution":29},225,"postgresql-ونهاية-الدعم-تخطيط-الترقية-الكبرى",{"fr":169,"en":170,"ar":167,"es":171},"postgresql-fin-de-vie-planifier-montee-version","postgresql-end-of-life-plan-your-major-upgrade","postgresql-fin-de-vida-planificar-actualizacion","‏PostgreSQL ونهاية الدعم: تخطيط الترقية الكبرى","‏يدعم PostgreSQL كل إصدار رئيسي خمس سنوات، وينتهي الدعم في نوفمبر. اعرف إصدارك وخطّط للترقية دون فقدان البيانات.","2026-08-05T00:00:00+00:00",{"id":137,"name":138,"slug":139,"color":140,"icon":141},[177],{"id":137,"name":138,"slug":139,"color":140,"icon":141},"\u002Fblog\u002Fcovers\u002Fpostgresql-fin-de-vie-planifier-montee-version-poster.svg",1789046074812]