
Advisory que detalla una vulnerabilidad de XSS reflejado en PuneethReddyHC Event Management System v1.0, incluyendo análisis de impacto, pasos de reproducción y recomendaciones de mitigación.
Título: Cross-Site Scripting (XSS) Reflejado a través del parámetro event_id en register.php
Vendedor / Repositorio: PuneethReddyHC / event-management
Versión afectada: 1.0 (rama/etiqueta master en el momento de las pruebas)
Reportero: Hafiz Pradana Gemilang
Estado de divulgación: Vendedor notificado de forma privada — PoC de explotación retenido por seguridad del usuario.
El estado y el cronograma se actualizarán después de la coordinación o el lanzamiento del parche.
Se identificó una vulnerabilidad de Cross-Site Scripting (XSS) Reflejado en register.php, donde el parámetro GET event_id no se sanitiza adecuadamente antes de reflejarse en la salida de la página.
Un atacante remoto puede crear una URL maliciosa que ejecute JavaScript arbitrario en el navegador de la víctima una vez que esta visite o sea redirigida al enlace.
⚠️ Este aviso omite intencionalmente un payload de explotación activo.
La prueba de concepto completa se ha proporcionado de forma privada al vendedor para el desarrollo del parche.
/register.php?event_id=<valor>
Ejemplo (pruebas locales):
http://<host>/event-management-master/register.php?event_id=1
La explotación exitosa permite la ejecución de JavaScript arbitrario en el contexto del dominio afectado.
Consecuencias potenciales:
HttpOnly)CVSS v3.1 estimado: 6.1 (Medio) — AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
event_id.El payload completo y la prueba de concepto se han compartido de forma privada con el vendedor.
Si usted es el mantenedor y necesita acceso, comuníquese con el reportero (ver más abajo).
Aplique validación del lado del servidor y codificación de salida para prevenir XSS reflejado.
Validación de entrada
Si event_id es numérico, aplique validación numérica:
$event_id = filter_input(INPUT_GET, 'event_id', FILTER_VALIDATE_INT);
if ($event_id === false) {
// manejar entrada no válida
}
Codificación de salida
Escape los datos proporcionados por el usuario antes de imprimirlos en HTML:
echo htmlspecialchars($event_id, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
Use frameworks o plantillas seguros
Prefiera frameworks que realicen automáticamente el escape consciente del contexto.
Cookies seguras
Establezca los indicadores HttpOnly, Secure y SameSite en las cookies de sesión.
Política de seguridad de contenido (CSP)
Aplique una CSP estricta y evite usar unsafe-inline.
Revisión de código y auditoría
Verifique todos los demás parámetros reflejados en toda la aplicación.
// 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; // o mostrar un error / redirigir
}
// Salida 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.phpReportado por: Hafiz Pradana Gemilang
Vendedor: PuneethReddyHC / event-management
Este aviso omite el código de explotación detallado para proteger a los usuarios del software afectado.
Los detalles técnicos completos están disponibles para el vendedor o coordinadores autorizados bajo solicitud según los términos de divulgación responsable.