CVE-2026-86863 in pgAdminالمعلومات

الملخص

بحسب VulDB • 18/09/2026

مصدر المصادقة الخاص بخادم الويب في pgAdmin 4 مُصمم لقبول هوية يُفترض أنها صادرة عن خادم الويب أو الوكيل العكسي (reverse proxy) الموجود أمام pgAdmin، وتُقدَّم عبر بيئة WSGI/CGI. كانت الدالة `WebserverAuthentication.get_user()` تقرأ المتغير `config.WEBSERVER_REMOTE_USER` من `request.environ`، وعندما لم تُرجع أي قيمة، كانت تعتمد على قراءة الاسم نفسه مباشرةً من عناوين HTTP الواردة عبر `request.headers.get()`. بما أن عنوان HTTP الوارد يُكتب بواسطة المرسل لأي طلب، فإن أي عميل قادر على الوصول إلى pgAdmin يمكنه تزويد هذا العنوان بنفسه والمصادقة باسم مستخدم يختاره، بما في ذلك اسم مسؤول موجود (Administrator)، دون تقديم كلمة مرور أو أي بيانات اعتماد أخرى. كما يمكن تحقيق البحث في البيئة من خلال عنوان يورده العميل كلما كان `WEBSERVER_REMOTE_USER` مُهيّأً لاسم يبدأ بـ HTTP_- أو يحتوي على شرطات مثل `HTTP_X_FORWARDED_USER` أو `X-Forwarded-User`، لأن خوادم WSGI تضع العناوين الواردة في البيئة تحت تلك الأسماء بالضبط. تتأثر التوزيعات (Deployments) فقط عندما يكون 'webserver' مفعّلاً ضمن `AUTHENTICATION_SOURCES`.

يتميز الإصلاح بين متغير CGI/WSGI أصلي ومتغير مستمد من عناوين HTTP، ولا يثق ضمناً إلا بالأول. لم تُقبل الهوية المُفترضة عبر عنوان HTTP إلا عند اختيار المشغل ذلك صراحةً عبر `WEBSERVER_REMOTE_USER_FROM_HEADER`، ووصول الطلب من نظير (peer) مدرج في `WEBSERVER_TRUSTED_PROXIES`، وعند التكوين، تطابق سر مشترك مُقدَّم في `WEBSERVER_SHARED_SECRET_HEADER` مع قيمة `WEBSERVER_SHARED_SECRET` ضمن مقارنة ثابتة الزمن (constant-time comparison). تقرأ عملية التحقق من النظير الموثوق عنوان نظير المقبس الحقيقي عمداً بدلاً من `request.remote_addr`، لأن ProxyFix يعيد كتابة الأخير بناءً على عنوان X-Forwarded-For الذي يتحكم فيه العميل، مما كان سيسمح للمهاجم بالادعاء بأنه الوكيل الموثوق. كدفاع متعدد الطبقات (defence in depth)، ترفض الدالة `login()` الآن أي حساب لا يكون مصدر مصادقته (`auth_source`) هو 'webserver'، بحيث لا يمكن استخدام بوابة ثقة مُهيّأة بشكل خاطئ لافتراض هوية داخلية أو حساب LDAP.

تؤثر هذه المشكلة على pgAdmin 4: من الإصدار 6.2 قبل 9.18.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

مسؤول

PostgreSQL

حجز

08/09/2026

إفشاء

17/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-406519

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Do you know our Splunk app?

Download it now for free!