
PostgreSQL تُصلح 52 ثغرة، منها خلل عمره 22 عاماً
إصلاحات PostgreSQL تغلق 52 ثغرة أمنية، منها CVE-2026-6460، وهو خلل ارتباك أنواع (CVSS 8.8) يمكن أن يتيح لمستخدم مصادق يملك حقوق إنشاء كائنات تنفيذ تعليمات برمجية على الخادم.
أصدر PostgreSQL تحديثات تُصلح 52 ثغرة أمنية، منها CVE-2026-6460، وهو خلل ارتباك أنواع بدرجة CVSS مقدارها 8.8 يمكن أن يتيح لمستخدم قاعدة بيانات مصادق يملك حقوق إنشاء كائنات تنفيذ تعليمات برمجية على الخادم. لم تُبلّغ مجموعة PostgreSQL Global Development Group عن هجمات تستغل الخلل، وتُدرج CISA في سجل CVE حالة الاستغلال على أنها غير موجودة.
الخلل
يؤثر CVE-2026-6460 في جميع إصدارات PostgreSQL قبل 18.7 و17.12 و16.16 و15.20 و14.25. ويتعلق بأنواع مركبة (composite types)، المبنية من حقول مسماة، ولكل حقل نوع بيانات خاص به. يمكن تغيير نوع حقل بينما تبقى قيم أقدم من ذلك النوع محفوظة في مكان آخر، لذا قد يقرأ الخادم قيمة قديمة كما لو كانت من النوع الجديد. يضيف الإصلاح فحوصات إصدار (version checks) للكشف عن عدم تطابق. للتعليمات البرمجية التي تُشغَّل عبر الخلل حقوق مستخدم نظام التشغيل الذي يشغّل PostgreSQL.
أبحاث الاستغلال
نشر باحث الأمن Mehmet Ince مقالة تقنية هذا الأسبوع تصف استغلالاً عاملًا على PostgreSQL 18.6. تجهّز طريقته استعلامًا يحمل قيمة، ثم تغيّر نوع أحد الحقول، ثم تشغّل الاستعلام. تتضمن المقالة SQL يُعطل خادمًا غير مُصلح، وخطوة ثانية تسرّب عناوين الذاكرة، لكنها لا تتضمن SQL للخطوة النهائية التي تجعل الخادم يشغّل أمرًا. كتب أنه تمكن من تفعيل التعطل بصفة دور تسجيل دخول الأقل امتيازًا. يصف الإشعار المهاجم بأنه شخص يمكنه إنشاء كائنات، دون ذكر الامتيازات المطلوبة. تقول Red Hat إن المهاجم يحتاج إلى تسجيل دخول إلى قاعدة البيانات يمكنه من إنشاء كائنات أو تعديلها. لا يقول أي من هذه المصادر ما إذا كان حساب يملك امتيازات افتراضية فقط قادرًا على تجاوز التعطل لتشغيل تعليمات برمجية.
يتتبّع Ince جذور الخلل إلى 5 مايو 2004، عندما اكتسب PostgreSQL القدرة على تغيير نوع عمود. تعتمد تقنية تنفيذ التعليمات البرمجية لديه على تغيير لاحق جرى في 14 مايو 2015. كما كيّف الاستغلال لخدمات PostgreSQL المُدارة وشارك براهين المفهوم (proofs of concept) مع فرق أمن مزوّدي الخدمة في أغسطس.
إصلاحات أخرى
يُسند المشروع الفضل إلى أكثر من اثني عشر مُبلّغًا بشأن CVE-2026-6460، ويُسند إلى Ince الفضل في خمس ثغرات أخرى في الإصدار نفسه. يُقيّم 32 من 52 ثغرة بدرجة 8.8، وهي أعلى درجة في الإصدار. وبناءً على فهرس الثغرات (vulnerability index) الخاص به، ثغرة خادم واحدة فقط لا تتطلب تسجيل دخول ولا إجراءً من المستخدم: CVE-2026-116322 تتيح لعميل غير مصادق تفعيل إعادة تشغيل خوادم PostgreSQL 18. تتضمن إصلاحات أدوات العميل أرشيفًا مُصمَّمًا يمكنه أن يجعل pg_restore يشغّل تعليمات برمجية بصفة مستخدمه، وخادم مصدر مخترقًا يمكنه أن يجعل psql يشغّل تعليمات برمجية عبر مخرج tar الخاص بـ pg_dump.
إجراءات المسؤول
حدّث الخادم إلى 18.7 أو 17.12 أو 16.16 أو 15.20 أو 14.25، مطابقًا للإصدار الرئيسي. أعد بناء أو حدّث كل امتداد لغة C في الوقت نفسه. لا تزال الامتدادات المبنية مقابل إصدارات أقدم تُحمَّل، لكن قد لا تكون محمية من الثغرات المُصلحة في هذا الإصدار. إذا كان PostgreSQL يعمل خارج وحدة الخدمة الخاصة بالحزمة، على سبيل المثال تحت Patroni، فأعد تشغيله مباشرة بعد التحديث. حدّث أدوات العميل مثل pg_dump وpg_restore وreindexdb وvacuumdb على كل جهاز يشغّلها. لا تستخدم الإعداد الجديد composite_type_mismatch لإيقاف الفحوصات، لأن المشروع يقول إن القيام بذلك يحمل مخاطر أمنية. لا يقدّم الإشعار وملاحظات الإصدار أي حل بديل للخوادم التي لا يمكن تحديثها بعد.
أصبح PostgreSQL 14 الآن في نهاية دورة الحياة (end of life)، و14.25 هو آخر إصدار له. تتأثر الإصدارات الرئيسية الأقدم أيضًا ولم تتلقَ تحديثات. بعد التحديث، اتبع خطوات إعادة الفهرسة (reindexing) في إعلان الإصدار. إذا كنت تستخدم نسخًا احتياطية تزايدية (incremental backups)، فخذ نسخة احتياطية كاملة جديدة وابنِ عليها النسخ الاحتياطية التزايدية اللاحقة.
المصادر: The Hacker News
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.