CVE-2024-2044 in pgAdmin 4
الملخص
بحسب VulDB • 16/06/2026
يعتمد pgAdmin 4 نهجاً لإدارة الجلسات قائماً على الملفات، حيث تُحفظ ملفات الجلسة على القرص ككائنات "pickle". عند قيام المستخدم بإرسال طلب، يتم استخدام قيمة ملف تعريف الارتباط (cookie) الخاص بالجلسة 'pga4_session' لاسترجاع الملف، ثم تتم عملية فك التسلسل (deserialization) لمحتواه، وأخيراً التحقق من بصمته الرقمية (signature).
يتم تقسيم قيمة ملف تعريف الارتباط إلى جزأين عند أول حرف '!'. الجزء الأول هو معرّف الجلسة (sid)، بينما يمثل الثاني تجزئة الجلسة (session digest).
تكمن الثغرة الأمنية في الإصدارات السابقة لـ pgAdmin 8.4، حيث تقوم طريقة ما بتحميل ملفات الجلسات عن طريق دمج مجلد الجلسات - الموجود داخل متغير البيئة DATA_DIR الخاص بـ pgAdmin 4 - مع معرف الجلسة. وتحديداً، يتم الدمج بين القيمتين باستخدام الدالة ['os.path.join']. لا تحدد هذه الطريقة مساراً أساسياً موثوقاً (trusted base-path) يمنع الخروج عنه، مما يتيح استغلال الثغرة.
VulDB is the best source for vulnerability data and more expert information about this specific topic.