
Advisory detalhando uma vulnerabilidade de XSS refletido no PuneethReddyHC Event Management System v1.0, incluindo análise de impacto, etapas de reprodução e recomendações de mitigação.
Título: Cross-Site Scripting (XSS) Refletido via parâmetro event_id em register.php
Fornecedor / Repositório: PuneethReddyHC / event-management
Versão Afetada: 1.0 (branch/tag master no momento do teste)
Relator: Hafiz Pradana Gemilang
Status de Divulgação: Fornecedor notificado em particular — PoC do exploit omitido para segurança dos usuários.
Status e cronograma serão atualizados após coordenação ou lançamento do patch.
Uma vulnerabilidade de Cross-Site Scripting (XSS) Refletido foi identificada em register.php, onde o parâmetro GET event_id não é devidamente sanitizado antes de ser refletido na saída da página.
Um atacante remoto pode criar uma URL maliciosa que executa JavaScript arbitrário no navegador da vítima assim que ela visita ou é redirecionada para o link.
⚠️ Este aviso omite intencionalmente um payload de exploit ativo.
A prova de conceito completa foi fornecida em particular ao fornecedor para o desenvolvimento do patch.
/register.php?event_id=<valor>
Exemplo (teste local):
http://<host>/event-management-master/register.php?event_id=1
A exploração bem-sucedida permite a execução de JavaScript arbitrário no contexto do domínio afetado.
Consequências potenciais:
HttpOnly)CVSS v3.1 Estimado: 6.1 (Médio) — AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
event_id.O payload completo e a prova de conceito foram compartilhados em particular com o fornecedor.
Se você é o mantenedor e precisa de acesso, entre em contato com o relator (veja abaixo).
Aplique validação no lado do servidor e codificação de saída para prevenir XSS refletido.
Validação de Entrada
Se event_id for numérico, aplique validação numérica:
$event_id = filter_input(INPUT_GET, 'event_id', FILTER_VALIDATE_INT);
if ($event_id === false) {
// tratar entrada inválida
}
Codificação de Saída
Faça escape dos dados fornecidos pelo usuário antes de imprimir em HTML:
echo htmlspecialchars($event_id, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
Use Frameworks ou Templates Seguros
Prefira frameworks que realizam escape automático com consciência de contexto.
Cookies Seguros
Defina os flags HttpOnly, Secure e SameSite nos cookies de sessão.
Política de Segurança de Conteúdo (CSP)
Aplique uma CSP estrita e evite usar unsafe-inline.
Revisão de Código e Auditoria
Verifique todos os outros parâmetros refletidos em toda a aplicação.
// Validar entrada numérica
$event_id = filter_input(INPUT_GET, 'event_id', FILTER_VALIDATE_INT);
if ($event_id === false || $event_id === null) {
$event_id = 0; // ou exibir um erro / redirecionar
}
// Saída segura
?>
<span id="event-id"><?= htmlspecialchars($event_id, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8') ?></span>
<?php
htmlspecialchars(): https://www.php.net/manual/en/function.htmlspecialchars.phpRelatado por: Hafiz Pradana Gemilang
Fornecedor: PuneethReddyHC / event-management
Este aviso omite código de exploit detalhado para proteger os usuários do software afetado.
Detalhes técnicos completos estão disponíveis para o fornecedor ou coordenadores autorizados mediante solicitação, sob termos de divulgação responsável.