CVE-2026-17566
pgAdmin 4: ثغرة تنفيذ التعليمات البرمجية عن بُعد (RCE) عبر عدم تطابق الهروب بالشرطة المائلة العكسية في حارس استعلام استيراد/تصدير البيانات (دفاع غير مكتمل، فجوة شقيقة لـ CVE-2025-13780)
- تم النشر
- 31/07/2026
- محدث
- 01/08/2026
- تخصيص CNA
- PostgreSQL
- الأدلة المرصودة
- 04/08/2026
CVSS الأساسي
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:Xمنخفض · الثلاثين يومًا القادمة
- المئوية
- 45.0%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
أداة استيراد/تصدير البيانات في pgAdmin 4 تبني سطر أوامر psql \copy (...) عن طريق إدراج استعلام SQL يوفّره المستخدم في قالب Jinja وتمرير السطر الناتج إلى psql عبر --command. لمنع المهاجم من كسر غلاف (...)، قامت create_import_export_job() (المسار POST /import_export/job/<sid>، المحمي فقط بصلاحية tools_import_export_data العادية واسعة المنح) بالتحقق من الاستعلام باستخدام مدقق توازن الأقواس المكتوب يدويًا، _is_query_parens_balanced(). كان هذا المدقق يعامل دائمًا الشرطة المائلة للخلف قبل علامة الاقتباس المفردة (\') على أنها تهرب الاقتباس، أي كما لو كانت standard_conforming_strings معطّلة. لقد جعل PostgreSQL قيمة standard_conforming_strings مفعّلة افتراضيًا منذ الإصدار 9.1 (2010)، وهي القيمة الافتراضية في كل إصدارات PostgreSQL التي يدعمها pgAdmin 4 حاليًا (13-18)؛ تحت هذا الافتراض، يعامل مُقسِّم الرموز الخاص بـ psql الشرطة المائلة للخلف كحرف عادي، لذا فإن علامة الاقتباس المفردة التي تليها مباشرة تُغلق السلسلة النصية. لذلك، تم قبول استعلام مثل SELECT 'a\') TO PROGRAM 'echo pwned' x' على أنه "متوازن" من قبل مدقق pgAdmin (الذي اعتقد أن ) لا تزال داخل السلسلة)، بينما psql، عند تشغيله عبر سطر الأوامر الفعلي المُنتَج، يُغلق السلسلة عند تلك النقطة ويعامل ) التالية كنهاية استعلام \copy (...) الفرعي المغلف، مما يكشف عن جملة TO PROGRAM '<command>' يختارها المهاجم وينفذها psql عبر popen() — بغض النظر عن خطأ نحوي لاحق في نفس السطر. هذا هو نفس صنف الثغرات مثل CVE-2025-12762/CVE-2025-13780 (تنفيذ أوامر عن بُعد عبر أمر psql الوصفي/حقن COPY أثناء استعادة تفريغ بصيغة PLAIN)، ويُستغل عبر دفاع مكتوب بشكل مستقل في وحدة مختلفة (استيراد/تصدير البيانات بدلاً من الاستعادة) كان يحتوي على خلل منطقي خاص به ومختلف (دلالات تهريب الشرطة المائلة للخلف معكوسة بدلاً من مرساة regex تُهزم بواسطة BOM). يرفض الإصلاح أي شرطة مائلة للخلف داخل سلسلة مقتبسة بمفردها في الاستعلام بشكل قاطع، بدلاً من اختيار أحد التفسيرين المحتملين لـ psql. هذا تحفظ متعمد: لأن التفسير الصحيح لـ \ يعتمد على إعداد standard_conforming_strings للخادم الهدف، والذي لا يمكن للمدقق معرفته بشكل موثوق في وقت التحقق، فإن رفض الاستعلام أكثر أمانًا من التخمين. تؤثر هذه الثغرة على pgAdmin 4: منذ إدخال _is_query_parens_balanced() قبل الإصدار 9.18.
المصادر
1الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.